所以这是我发生的最奇怪的事情,因为这个项目昨天工作得很好,事实上,当我前一天完成工作时,我什至有"ng serve"仍在运行,一切都很好。
今天来了,没有任何变化,由于打字稿 3.7.2 功能,我无法再编译该应用程序,尽管我使用 angular 项目在全局 3.7.3 和本地 3.8.3 上运行。我也收到了一个奇怪的警告,在区域中使用 async/await .js尽管我还没有在我的项目中的任何地方使用 async await - 在过去的角度项目中使用 async/await 没有遇到问题。
错误:
WARNING: Zone.js does not support native async/await in ES2017.
和
Module parse failed: Unexpected token (17:38)
> const address = !!company?.address;
> if (company?.address) {
它继续在整个应用程序中指向类似的东西。现在这个应用程序是在几周前使用角度 cli 9 生成的,我的 tsconfig 原封不动地使用以下方法:
"module": "esnext",
"moduleResolution": "node",
"target": "esnext",
"lib": ["es2018", "dom"]
我很确定这不是关于我在项目本身中所做的任何事情,而是关于项目是如何编译的,但可悲的是,我不知道在哪里看了,或者我错过了什么,所以任何帮助/建议都非常感谢。
编辑:
删除了本地项目,从 git 复制回来,使用 TS 10 更新为 angular 3.9.5 和相同的问题。
"exnext" 在 ES 中包含 'not' 功能。功能如下:github.com/Microsoft/TypeScript/tree/master/lib。我认为,对于标准项目,您应该使用 es20** 模块和目标。即:目标="ES2015"和模块="ES2020"(默认为Angular10(