angular - feil TS5023: Ukjent kompilatoralternativ 'compilerOptions'


Jeg prøver å oppdatere Angular4-applikasjonen min til Angular5.

Jeg prøvde å følge prosedyren som ble foreslått av den offisielle nettsiden, men nå kan jeg ikke kompilere lenger, og jeg får denne feilen:

feil TS5023: Ukjent kompilatoralternativ 'compilerOptions'.

Dette er versjonen av komponentene:

Angular CLI: 1.6.8
Node: 7.4.0
OS: win32 x64
Angular: 5.0.0
... animations, common, compiler, compiler-cli, core, forms
... http, platform-browser, platform-browser-dynamic
... platform-server, router

@angular/cli: 1.6.8
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
typescript: 2.7.1
webpack: 3.10.0

tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ],
    "types": [
      "jquery",
      "jqueryui",
      "jasmine",
      "datatables.net",
      "datatables.net-select"
    ],
    "compilerOptions": {
      "types" : [ "node" ]
 }

  }
}

Hvordan kan jeg fikse det?

Takk for støtten

Svar #1

Det er en feil i formatet på tsconfig.json-filen din som er nevnt i feilmeldingen. Du har en ekstra compilerOptions-egenskap inne i den opprinnelige compilerOptions-objektet. Det skal være som vist nedenfor

{
  "compilerOptions": {
    "baseUrl": "",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ],
    "types": [
      "jquery",
      "jqueryui",
      "jasmine",
      "datatables.net",
      "datatables.net-select"
    ]

  }
}

Imidlertid vil typeRoots bli foretrukket i stedet for types her, og alle pakker vil bli lastet fra "../node_modules/@types". Sjekk denne lenken for alle alternativene.

https://www.typescriptlang.org/docs/handbook/compiler-options.html

http://www.typescriptlang.org/docs/handbook/tsconfig-json.html

Relaterte artikler