typescript - Hur ska jag använda ES2020 i Angular?
Här är min tsconfig.json-fil:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es6",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
När jag ändrade lib och målversion från es2018 till es2020 får jag följande fel:
tsconfig.json(13,15): fel TS6046: Argument för alternativet '--target' måste vara: 'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'esnext'.
Svar #1
Stöd för es2020 introducerades i TypeScript 3.8.
Du måste uppgradera till Angular 9.1 (eller senare) för att kunna använda TypeScript 3.8.
Svar #2
Jag använde 11.2.14 versionen av Angular, men kunde fortfarande inte ha "target": "ES2020" i tsconfig.json.
Min konstruktion misslyckades på:
Fel: ./src/app/shared/validators/form.validators.ts 10:21 Modulparsing misslyckades: Ovänad token (10:21) Filen behandlades med dessa loaders:
- ./node_modules/@angular-devkit/build-optimizer/src/build-optimizer/webpack-loader.js
- ./node_modules/@ngtools/webpack/src/index.js
Du kan behöva en ytterligare loader för att hantera resultatet av dessa loaders. ...
Enligt detta GitHub-ärende är felet relaterat till WebPack (min version 4.44.2). Och stöd för ES2020 kommer med WebPack 5.