typescript - Fel: Ställ in alternativet 'experimentalDecorators' i din 'tsconfig' eller 'jsconfig' för att ta bort denna varning
Jag försöker få ett grundläggande dekoratorexempel att fungera i TypeScript utan någon framgång.
Jag ser ständigt felmeddelandet:
Experimentellt stöd för dekoratörer är en funktion som kan komma att ändras i en framtida version. Ställ in alternativet 'experimentalDecorators' i din 'tsconfig' eller 'jsconfig' för att ta bort denna varning.
Min tsconfig.json ser ut som följer (tsconfig i samma mapp som index.ts):
{
"compilerOptions": {
"target": "esnext",
"watch": true,
"experimentalDecorators": true,
}
}
Detta verkar vara ett ganska vanligt problem och har frågats flera gånger på SO, t.ex.: Experimentella dekoratorer varning vid TypeScript-kompilering
Jag har försökt alla lösningar utan framgång. Dessutom verkar mitt problem inte vara relaterat till vscode. Jag får samma fel när jag försöker köra filen från terminalen.
Vad jag har försökt hittills:
- Starta om VC Code
- EmitDecoratorMetaData: sant
- Tillåt experimentella dekoratorer som en implicit konfiguration i VC Code i VC Code
- Ställ in TS-version manuellt
- Skapa ny tsconfig.json
REDIGERA
index.ts
function f(): any {
console.log("f(): evaluated");
return function (target, propertyKey: string, descriptor: PropertyDescriptor) {
console.log("f(): called");
}
}
function g(): any {
console.log("g(): evaluated");
return function (target, propertyKey: string, descriptor: PropertyDescriptor) {
console.log("g(): called");
}
}
class C {
@f()
@g()
method() {}
}
Svar #1
Jag märkte att VS Code har ett alternativ i inställningarna för att aktivera experimentalDecorators för filer som inte är en del av ett projekt. Är dina kodfiler en del av ditt projekt?
Svar #2
Du kan ta bort varningen från CLI med flaggan som uttryckligen anges i kommandoraden:
tsc index.ts --experimentalDecorators
Ett alternativ är att lista index.ts i files-sektionen i tsconfig.
{
"files": ["index.ts"],
"compilerOptions": {
"target": "esnext",
"experimentalDecorators": true
}
}
Du kan kalla på CLI utan några argument och det bör köras utan fel.
tsc
Jag lyckades dock inte återskapa felet i VS Code.
