我刚刚更新了我的应用程序到角度12,并试图使用es2020。由于某些原因,当我的应用程序构建时,我仍然会遇到错误,因为该应用程序似乎仍然试图使用es2015:
node_modules/typescript/lib/lib.es2015.promise.d.ts:33:34
[ng] 33 new <T>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void): Promise<T>;
[ng] ~~~~~~~~~~~~~~~~~~~~~~~~~
[ng] An argument for 'value' was not provided.我更新了tsconfig.json以反映es2020:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"inlineSources": true,
"declaration": false,
"sourceRoot": "/",
"module": "es2020",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2020",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2020",
"dom"
]
},
"exclude": [
"node_modules",
"**.*.spec.ts",
"plugins/**"
]
}编辑:
当我使用我的应用程序时,我还会看到以下内容:
[ng] Compiling @angular/core : es2015 as esm2015
[ng] Compiling @ionic-native/core : module as esm5
[ng] Compiling @angular/common : es2015 as esm2015
[ng] Compiling @angular/cdk/collections : es2015 as esm2015
[ng] Compiling @ionic-native/splash-screen : module as esm5
[ng] Compiling @ionic-native/barcode-scanner : module as esm5
[ng] Compiling @ionic-native/status-bar : module as esm5
[ng] Compiling @angular/platform-browser : es2015 as esm2015
[ng] Compiling @angular/cdk/platform : es2015 as esm2015最后,我已经在我的package.json中使用了类型记录4.3.5。
但是,自从进行更改后,我还没有显式地安装任何新的类型。接下来我该怎么做才能允许对es2020的更改?
发布于 2022-06-09 01:26:23
记住,当您以ES2020为目标时,您将iOS 13.3及以下的任何用户排除在外(最有可能的情况是使用??或?.)。虽然该版本已经使用了2+多年,但重要的是检查您的服务器日志,看看有多少用户/客户仍在使用旧浏览器(并可能带来收入)。
不幸的是,由于Safari与iOS版本捆绑在一起,如果有人不更新iOS,他们也会落后于Safari和ES版本。
关键是要确保在做这件事之前你真的想要这样做。
我个人为两者创建了ts.config.ES2020.app和ts.config.ES2015.app文件,并在开发期间使用angular.json中的配置配置文件来选择2020。
这意味着我将在我的开发浏览器中看到像??这样的现代事物,但是今年上半年我们从Safari13.3用户那里获得的85美元有望翻一番!
https://stackoverflow.com/questions/70847709
复制相似问题