Angular9:构建具有额外的编译步骤

时间:2020-04-23 06:47:27

标签: javascript angular angular9 angularbuild

自从我将Angular8项目更新为Angular9之后,我可以看到编译为esm的额外步骤。 这使我的构建时间延长了1分钟。

它看起来像这样:

Compiling @angular/animations : es2015 as esm2015
Compiling @angular/cdk/keycodes : es2015 as esm2015
Compiling @angular/compiler/testing : es2015 as esm2015
Compiling @angular/core : es2015 as esm2015
Compiling @angular/cdk/collections : es2015 as esm2015
Compiling @angular/common : es2015 as esm2015
...

任何人都知道此步骤是做什么的? 还有禁用它的选项吗?

1 个答案:

答案 0 :(得分:1)

这是ngcc将所有模块编译为常春藤兼容代码。

您不能删除它,因为Ivy需要它才能起作用。 但是您只需执行一次,它将生成文件到node_modules中,而无需添加新的依赖项或更新angular即可再次执行。

将此添加到您的package.json scripts部分

"scripts": {
  ...
  "postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
  ...
}

,然后运行npm installyarn install 触发后安装命令。