自Angular CLI 6起,ng build --prod不会缩小/丑化/删除注释

时间:2018-08-20 08:30:01

标签: angular typescript angular-cli minify angular-cli-v6

由于我已经升级了Angular应用程序以使用Angular CLI版本6.x,因此将其编译以进行生产(照常使用ng build --prod)不会生成精简的js。这样会导致vendor.js很大(在我的情况下几乎为10 MB)。

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

1 个答案:

答案 0 :(得分:9)

问题在angular.json文件中。

在键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键。添加上面显示的其他属性(optimizationoutputHashing等)为我解决了这个问题。