这是我的tsconfig.json文件:
{
"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"
]
}
}
当我将库和目标版本从es2018
更改为es2020
时,会出现以下错误:
tsconfig.json(13,15(:错误TS6046:"--target"选项的参数必须为:"es3"、"es5"、"es6"、"es2015"、"ES 2016"、"es 2017"、"埃斯2018"、"埃斯next"。
es2020
的支持。
必须升级到Angular 9.1(或更高版本(才能使用TypeScript 3.8。
我使用了Angular的11.2.14
版本,但仍然无法在tsconfig.json
中使用"target": "ES2020"
。
我的构建失败于:
错误:/src/app/shared/validators/form.validators.ts 10:21模块分析失败:意外的令牌(10:21(文件是用以下加载程序处理的:
- /node_modules/@angular devkit/build优化器/src/build优化器/webpack-loader.js
- /node_modules/@ngtools/webpack/src/index.js
您可能需要一个额外的加载程序来处理这些加载程序的结果。…
根据这个GitHub问题,错误与WebPack(我的版本4.44.2(有关。WebPack 5将提供对ES2020
的支持。
我认为es2020
直到Angular 9才被添加为目标。所以,如果你使用的版本低于这个版本,我可能会认为它不起作用。
esnext
以最新支持的功能为目标,因此其工作原理应该非常相似。