我刚刚将我的项目升级到 Angular 9,我注意到的第一件事是我的 CI 中的构建时间显着增加(从 2 分钟到 4 分钟)。
分析日志,每次执行测试或构建时,CLI 都会执行预编译。这是由于新的 Ivy 架构,但据我了解,这种编译应该只发生在与 Ivy 不兼容的代码上。
那么为什么我Compiling @angular/common : es2015 as esm2015
在构建中看到很多(主要来自@angular 包)?Angular 代码本身不应该与 Ivy 兼容吗?
注意:这也发生在一个新项目中(只有几个库)。
更新 所有需要构建的命令都会发生这种情况。前任:
ng test --code-coverage=true --watch=false --browsers=ChromeHeadle
ng b -c=staging --aot
更新 2
我正在添加我的构建进行比较:pre angular 9和 after angular 9 迁移(构建仍然失败,但我们可以使用单元测试作为参考,从 ~2 分钟到 ~4 分钟的总执行时间)