从Angular CLI 6开始,ng build --prod不会缩小/ uglify /删除注释

Fra*_*rzi 7 minify typescript angular-cli angular angular-cli-v6

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

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

Fra*_*rzi 10

问题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
},
Run Code Online (Sandbox Code Playgroud)

出于某些原因,从以前的Angular CLI版本升级后,我的production配置只有fileReplacements密钥.添加上面显示的其他属性(optimization,outputHashing等等)解决了我的问题.