缩短 Azure Devops 中 Angular 8 应用程序的生产构建时间

15 typescript azure-devops angular angular8

我正在尝试使用下面的命令提高 Angular Build 的生产速度,运行以下命令,但是构建时间没有改善,仍然是 14 分钟。--prod 命令是否使它忽略了最大旧大小空间?脚本正确吗?我们在 Azure Devops Agents 中运行它,这是它在日志中的显示方式

node --max-old-space-size=12288 ./node_modules/@angular/cli/bin/ng build --prod --output-hashing none
Run Code Online (Sandbox Code Playgroud)

max-old-space-size 的命令应该在 angular.json 配置生产部分重新定位吗?

缩短 Angular 7 应用程序的生产构建时间

这是 package.json 文件:

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "node --max-old-space-size=12288 ./node_modules/@angular/cli/bin/ng build --prod",
    "prod": "node --max-old-space-size=12288 ./node_modules/@angular/cli/bin/ng build --prod --output-hashing none",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
Run Code Online (Sandbox Code Playgroud)

小智 2

嘿,根据文档,您可以使用它来优化构建

  • 延迟加载。仅加载应用程序启动时绝对必须存在的应用程序模块。配置 Angular Router 以推迟所有其他模块(及其相关代码)的加载

  • 当然,在构建命令上启用 --prod 模式;)。然后,您可以使用名为 source-map-explorer 的库检查包大小

    npm install source-map-explorer --save-dev

构建用于生产的应用程序,包括源映射

ng build --prod --source-map
Run Code Online (Sandbox Code Playgroud)

列出 dist/ 文件夹中生成的包。

ls dist/*.bundle.js
Run Code Online (Sandbox Code Playgroud)

运行资源管理器以生成其中一个包的图形表示。以下示例显示主包的图表。

node_modules/.bin/source-map-explorer dist/main.*.bundle.js
Run Code Online (Sandbox Code Playgroud)

您可以在此处的角度文档中获取更多信息