Angular Travis CI中的缓存角模编译
每次我在Travis中运行Angular构建时,它都必须将所有Angular模块编译到ESM5Angular Travis CI中的缓存角模编译,angular,travis-ci,Angular,Travis Ci,每次我在Travis中运行Angular构建时,它都必须将所有Angular模块编译到ESM5 Compiling @angular/core : module as esm5 Compiling @angular/common : module as esm5 etc. 我想知道是否有一种方法可以使用Travi CI缓存这些已编译的模块。在angular ivy中,我们需要编译库以使它们兼容 这是由ngccutil完成的。 如果angular cli发现未通过ngcc运行的库,它将动态运行
Compiling @angular/core : module as esm5
Compiling @angular/common : module as esm5
etc.
我想知道是否有一种方法可以使用Travi CI缓存这些已编译的模块。在angular ivy中,我们需要编译库以使它们兼容 这是由
ngcc
util完成的。
如果angular cli发现未通过ngcc运行的库,它将动态运行
您可以通过运行
ngcc--properties es2015浏览器模块main--first only--create ivy入口点
ngcc的输出存储在node_modules
中,因此只要缓存node_modules
并在CI中运行时调用上述命令,就可以了
我建议将其添加为安装后挂钩
在package.json
文件中添加
{
...
"scripts": {
...
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
}
}
谢谢你的回答。我需要对它进行一些调整,即:将
--properties es2015浏览器模块main
替换为--properties模块
。我个人没有任何使用ngcc
的经验,因此最终要让它发挥作用主要是靠大量的猜测。当你在travis中运行npm ci
时,这一点难道还没有得到解决吗?