typescript - Feil: Sett alternativet 'experimentalDecorators' i din 'tsconfig' eller 'jsconfig' for å fjerne denne advarselen


Jeg prøver å få et grunnleggende dekoratoreksempel til å fungere i TypeScript uten hell.

Jeg ser stadig feilmeldingen:

Eksperimentell støtte for dekoratører er en funksjon som kan endres i en fremtidig utgivelse. Sett alternativet 'experimentalDecorators' i din 'tsconfig' eller 'jsconfig' for å fjerne denne advarselen.

Min tsconfig.json ser som følger ut (tsconfig i samme mappe som index.ts):

{
    "compilerOptions": {
        "target": "esnext",
        "watch": true,
        "experimentalDecorators": true,
    }
}

Dette ser ut til å være et ganske populært problem og har blitt spurt om flere ganger på SO, for eksempel: Eksperimentelle dekoratør-varsler i TypeScript-kompilering

Jeg har prøvd alle løsningene uten hell. Også, mitt problem ser ikke ut til å være relatert til vscode. Jeg får den samme feilen når jeg prøver å kjøre filen fra terminalen.

Hva jeg har prøvd så langt:

  1. Start VC Code på nytt
  2. EmitDecoratorMetaData: true
  3. Tillat eksperimentelle dekoratører som en implisitt konfigurasjon i VC Code i VC code
  4. Angi TS-versjon manuelt
  5. Opprett ny tsconfig.json

REDIGER

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

Jeg la merke til at VS Code har et alternativ i innstillingene for å aktivere experimentalDecorators for filer som ikke er en del av et prosjekt. Er kodefilene dine en del av prosjektet ditt?

Svar #2

Du kan fjerne advarselen fra CLI-en med flagget som eksplisitt er angitt til kommandolinjen:

tsc index.ts --experimentalDecorators

Et alternativ er å liste opp index.ts i files-delen av tsconfig.

{
  "files": ["index.ts"],
  "compilerOptions": {
    "target": "esnext",
    "experimentalDecorators": true
  }
}

Du kan kjøre CLI-en uten noen argumenter, og den skal kjøre uten feil.

tsc 

Jeg klarte derimot ikke å gjenskape feilen i VS Code.

Relaterte artikler