自从我将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
...
任何人都知道此步骤是做什么的? 还有禁用它的选项吗?
答案 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 install
或yarn install
触发后安装命令。