CAl*_*lex 6 production metadata typeerror angular
我正在尝试将Angular 7应用的生产版本部署到Azure。我可以在运行ng build时轻松部署它,但是当尝试完整运行时,我ng build --prod在控制台下收到此错误,并且该页面无法加载。在本地服务器上运行应用程序时也会发生这种情况。
Uncaught TypeError: Reflect.defineMetadata is not a function
Run Code Online (Sandbox Code Playgroud)
我已经搜索过,但找不到该确切错误的参考。我看到大部分结果是这样的:Uncaught TypeError: Reflect.getMetadata is not a function
Sid*_*era 10
确保已reflect-metadata安装。另外,尝试将以下行添加到polyfills.ts文件中:
import 'reflect-metadata'
Run Code Online (Sandbox Code Playgroud)
要么
import 'core-js/es7/reflect';
Run Code Online (Sandbox Code Playgroud)
理想情况下,此(第二条import语句)已经是polyfills.ts文件的一部分。
那应该使它工作。
小智 6
不要安装整个 core-js,可以安装
npm i reflect-metadata
Run Code Online (Sandbox Code Playgroud)
然后简单地导入polyfills.js
import 'reflect-metadata';
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您不需要安装整个 core-js,因为只需要reflect-metadata。:)
polyfills.ts 中的导入不再包含在默认的 Angular 项目中,因为 Angular 仅在开发环境中需要它。
如果您需要polyfill,例如像这样的模块class-transformer,您可以将其添加到polyfills.ts中:
npm i core-js -S
import 'core-js/proposals/reflect-metadata';
| 归档时间: |
|
| 查看次数: |
2089 次 |
| 最近记录: |