2

在生产模式下构建项目大约需要 10-15 分钟,dist 文件夹大小为 32MB

这些是我正在使用的生产选项:-

"production": {
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true,
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ]
        }

我正在运行以下命令来构建项目:-

节点 --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng 构建 --prod --source-map=false --named-chunks=false --statsJson=false

PS:我已经尝试过使用 Ivy。它不支持遗留代码,因此构建失败。

任何帮助都感激不尽。谢谢。

4

4 回答 4

2

以下是一些基本步骤

  • 减少应用导入的库数量
  • 确保所有重要的库都是 FESM/ESM 格式而不是 UMD/CommonJS 格式
  • 减少应用导入的 Sass/Less 数量
  • 确认您没有导入/生成重复样式 ( 1 )
  • 将您的应用程序分解为更多模块并进一步调查最大/最慢的模块
  • 将您的应用程序的部分分解为库(并考虑将您的路径映射指向您dist/的库版本
  • 减少应用使用的资源的大小和数量
  • 某些版本的 Angular 或 CLI 在这方面有回归,建议使用最新的 8.3.x 或 11.2.x
  • 减少应用程序中循环模块和库依赖项的数量

如果您做了所有这些并且您的产品构建仍然超过 10 分钟,我建议您查看Nx 增量构建

如果您完成了所有设置并且您的构建仍然太慢并且您有多个团队在您的应用程序上工作,那么您可能需要查看Module Federation

于 2021-04-26T15:01:09.977 回答
0

您可以尝试使用 webpack Bundle Analyzer 来查看是否生成了一些大型捆绑包...

https://alligator.io/angular/bundle-size/

于 2020-01-10T11:22:33.197 回答
0

检查先前问题的堆栈答案

ng build --source-map=false

希望这会有所帮助... !!

于 2019-12-03T11:47:51.990 回答
-1

您可以禁用“优化”、“aot”和“buildOptimizer”以加快构建速度。但这可能会使 dist 文件夹的大小变得更糟。

于 2019-12-03T14:54:08.517 回答