web-dev-qa-db-ja.com

ng build --prodは、Angular CLI 6

Angularアプリを使用するためにAngular CLIバージョン6.xをアップグレードしたため、ng build --prodを使用して、通常)は縮小されたjsを生成しません。この結果、非常に大きなvendor.jsサイズになります(私の場合、ほぼ10 MBです)。

結果のvendor.jsファイルを開くと、コードが縮小されておらず、コメントが削除されていないことがはっきりとわかります。

7
Francesco Borzi

問題はangular.jsonファイル。

キーの下でprojects.MY_PROJECT_NAME.architect.build.configurations.production、新しいangularプロジェクトを作成するときに、通常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など)が問題を解決しました。

10
Francesco Borzi