1

Angular 12 自动更新从应用程序的dev-version ( ) 中删除"emitDecoratorMetadata": true属性有错误:tsconfig.jsonng serve

ERROR Error: Uncaught (in promise): TypeError: can't access property "name", d is undefined

vendor.js这个地方的文件中:

... d=Reflect.getMetadata("design:type",e,r),v=!!d.name&&d.name.toLowerCase()===t.Array ...

生产版本没有这个错误

包括"emitDecoratorMetadata": trueattsconfig.json消除了这个错误

安装和包含 polyfillreflect-metadata没有帮助

临时解决方案: include "emitDecoratorMetadata": true,但这已被弃用。

4

2 回答 2

0

您可以尝试回滚到上一个可用版本。

或临时解决方法是将这些添加到您的package.json并将版本更改为@angular/Compiler-cli您拥有的完全相同的版本@angular/core

“@angular/compiler-cli”:“2.2.0”,“反射元数据”:“^0.1.8”

并且对于运行 ng 不要使用您的全局 angular-cli,而是将其添加到您的 package.json 并使用 npm 运行它。

"scripts": {
…
"build-my-app": "ng build --prod --aot --xyz"
},

并运行它:

npm run build-my-app
于 2021-06-18T12:11:34.740 回答
0

这是外部依赖错误,它严格要求emitDecoratorMetadata设置为true.

于 2021-07-06T15:36:27.720 回答