当我使用以下命令运行调试模式:npm run build
时,将拥有所有dist文件夹,并且可以部署项目。
当我使用以下命令运行生产时:npm run build -- --prod
,将出现此错误“组件是2个模块的声明的一部分”。
我的问题是:为什么两种模式之间存在这种差异?这是由AOT选项引起的吗?
答案 0 :(得分:1)
那只是Angular的《 Ahead of Time》编译的一件事。因为它消除了代码,所以它比调试编译要严格得多,并且其他一些错误也仅在AOT编译中报告。
通常,出于这个原因,我在提交之前先进行ng build -prod
(这意味着AOT)。
由于您使用的是npm
脚本,因此我会使用建议的@trichetriche语法:
npm run build -- --aot