在 Travis-CI 中缓存 Angular 模块编译
Cache Angular module compilation in Travis-CI
每次我 运行 我的 Angular 在 Travis 中构建时,它必须将所有 Angular 模块编译为 ESM5
Compiling @angular/core : module as esm5
Compiling @angular/common : module as esm5
etc.
我想知道是否有一种方法可以使用 Travi-CI 的 cache.
来缓存这些已编译的模块
在 angular ivy 中,我们需要编译库以使其兼容。
这是由 ngcc
实用程序完成的。
如果 angular-cli 找到尚未通过 ngcc 运行 的库,它将即时执行。
你可以通过 运行ning
告诉 ngcc 这样做
ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points
ngcc 的输出存储在 node_modules
中,因此只要您缓存 node_modules
并在 CI 中 运行ning 时调用上面的内容就可以了。
我建议将其添加为 post 安装挂钩
在您的 package.json
文件中添加
{
...
"scripts": {
...
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
}
}
每次我 运行 我的 Angular 在 Travis 中构建时,它必须将所有 Angular 模块编译为 ESM5
Compiling @angular/core : module as esm5
Compiling @angular/common : module as esm5
etc.
我想知道是否有一种方法可以使用 Travi-CI 的 cache.
来缓存这些已编译的模块在 angular ivy 中,我们需要编译库以使其兼容。
这是由 ngcc
实用程序完成的。
如果 angular-cli 找到尚未通过 ngcc 运行 的库,它将即时执行。
你可以通过 运行ning
告诉 ngcc 这样做ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points
ngcc 的输出存储在 node_modules
中,因此只要您缓存 node_modules
并在 CI 中 运行ning 时调用上面的内容就可以了。
我建议将其添加为 post 安装挂钩
在您的 package.json
文件中添加
{
...
"scripts": {
...
"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"
}
}