angular - 自 Angular CLI 6 以来,ng build --prod 不会缩小/丑化/删除评论
问题描述
由于我已将 Angular 应用程序升级为使用 Angular CLI 版本6.x
,因此将其编译用于生产(ng build --prod
像往常一样使用 )不会产生缩小的 js。这导致非常大的vendor.js
大小(在我的情况下几乎是 10 MB)。
如果我打开生成的vendor.js
文件,我可以清楚地看到代码没有缩小,注释也没有被删除。
解决方案
问题在angular.json
文件中。
在 key下,当您创建新的 Angular 项目时projects.MY_PROJECT_NAME.architect.build.configurations.production
,我错过了配置中通常默认出现的所有选项。production
为了解决问题,production
配置应如下所示:
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
},
由于某些原因,从以前的 Angular CLI 版本升级后,我的production
配置只有fileReplacements
密钥。添加上面显示的其他属性(optimization
,outputHashing
等...)为我解决了这个问题。