我应该如何在Angular中使用ES2020



这是我的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"。

TypeScript 3.8中引入了对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以最新支持的功能为目标,因此其工作原理应该非常相似。

相关内容

  • 没有找到相关文章

最新更新