我正在使用 Angular cli - 7,我将讲述如何根据我的知识减少构建时间。
现在,许多用户和开发人员等待启用了构建优化器的内置产品太久了。
如果您的应用程序有大量文件(超过 1000 个组件),则构建时间将花费超过 1 小时。
在我的应用程序中,我们启用了 QA 构建优化,构建时间也超过 2 小时。因此,由于构建时间长,测试人员/开发人员很难快速进行功能测试。所以我决定减少构建时间。
我检查了每个构建过程,以了解哪个步骤需要太长时间才能完成,因此我发现以下步骤需要太长时间才能完成。
69%-70%:编译
正在编译过程,所以留下它。
79%-80%:串联模块过程:
请按照以下步骤操作
1- npm i -D @angular-builders/custom-webpack
注意: 由于某些版本问题,我在我的应用程序中安装了
^7.4.3
版本。
2-按以下方式更改
angular.json
配置
"architect": {
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"customWebpackConfig": {
"path": "./extra-webpack.config.js"
},
3-使用以下代码在 angular.json 旁边创建一个名为 extra-webpack.config.js 的新文件
module.exports = {
optimization: {
concatenateModules: false
}
};
如果您执行了上述步骤,构建时间将减少大约 30 分钟。请访问此博客了解更多详情。
90%-92%:针对简洁的块优化:
如果您的节点模块文件夹中有 terser,请在 package.json 文件中添加以下行。
"resolutions": {
"uglify-es": "npm:terser"
}
注意:如果节点模块文件夹中没有terser,请安装。
2293551ms --- 无分辨率
596900ms --- 有决议
如果您想减少更多构建时间,请在构建命令或
angular.json
文件中启用供应商块并禁用提取CSS
ng build --configuration=qa --vendor-chunk=true --extract-css=false
影响不大,但也减少了10-15分钟10%-12%的过程。
结果:现在我的应用程序构建时间减少了超过 1 小时,我想知道什么?现在它的运行时间在 20-30 分钟内。
上述更改是否会在 Angular 构建编译和运行时产生任何问题?如果您有任何替代/附加解决方案来通过构建优化来减少构建时间,请告诉我。
现在构建在 35-40 分钟内执行(之前大约是 2 分钟)小时)。
而且我非常确定,这些(79%-80% 和 90%-92%)更改不会影响应用程序。