首页 > 解决方案 > 自 Angular CLI 6 以来,ng build --prod 不会缩小/丑化/删除评论

问题描述

由于我已将 Angular 应用程序升级为使用 Angular CLI 版本6.x,因此将其编译用于生产(ng build --prod像往常一样使用 )不会产生缩小的 js。这导致非常大的vendor.js大小(在我的情况下几乎是 10 MB)。

如果我打开生成的vendor.js文件,我可以清楚地看到代码没有缩小,注释也没有被删除。

标签: angulartypescriptangular-climinifyangular-cli-v6

解决方案


问题在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等...)为我解决了这个问题。


推荐阅读