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

提高Azure Devops中Angular 8应用程序的生产构建时间,angular,typescript,azure-devops,angular8,Angular,Typescript,Azure Devops,Angular8,我试图通过下面的命令来提高角度构建生产速度, 运行以下命令,但是构建时间没有任何改进,仍然为14分钟。 --prod命令是否使其忽略最大旧大小空间?脚本正确吗? 我们正在Azure Devops代理中运行此功能,这是它在日志中的显示方式 node --max-old-space-size=12288 ./node_modules/@angular/cli/bin/ng build --prod --output-hashing none 是否应在angular.json配置生产部分重新定位最大

我试图通过下面的命令来提高角度构建生产速度, 运行以下命令,但是构建时间没有任何改进,仍然为14分钟。 --prod命令是否使其忽略最大旧大小空间?脚本正确吗? 我们正在Azure Devops代理中运行此功能,这是它在日志中的显示方式

node --max-old-space-size=12288 ./node_modules/@angular/cli/bin/ng build --prod --output-hashing none
是否应在angular.json配置生产部分重新定位最大旧空间大小的命令

这是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"
  },

更改您的cli版本


npm i——保存dev@anguler/cli@1.7.0-rc.0

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

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

  • 在build命令上启用--prod模式,;)当然 然后,您可以使用名为“源地图资源管理器”的库检查捆绑包大小

    npm安装源地图管理器--保存开发

为生产构建应用程序,包括源地图

ng build --prod --source-map
在dist/文件夹中列出生成的捆绑包

ls dist/*.bundle.js
运行资源管理器以生成其中一个捆绑包的图形表示。以下示例显示主捆绑的图形

node_modules/.bin/source-map-explorer dist/main.*.bundle.js

您可以在angular文档中获得更多信息这是angular 7&8的Azure devops中的构建代理通常获得的正常构建时间。设置node--max old space size=12288将为构建过程提供扩展内存分配。这并不能减少构建时间。是的,此命令在azure中工作

随着Angular 9的发布,他们引入了构建引擎,大大缩短了构建时间
我已将我的解决方案升级到angular 9。之后,Devops构建时间减少了约60%。因此,尝试更新角度8,然后更新为9。这将为您提供这次迁移的指南

Dude如果他的产品构建上有源代码映射,那么他遇到的问题不仅仅是构建速度lol,无论如何……需要查看您的产品构建模式的angularjson设置,以便更好地了解您如何处理块、许可证、构建优化器、AOT、css提取,等等等等等等。。。没有什么神奇的特性可以添加,它将为您提供您想要的结果,您必须对构建过程本身进行一些配置。PS,如果您的生产构建时间为14分钟,我猜确定您的痛点需要做大量的工作。您可以看看bazel(),但是正如Chris所建议的,您可以先通过添加您使用的其他设置来改进问题的细节。您是否考虑过启用?angular团队表示,他们“有理由相信,在整个生态系统中,大多数应用程序都可以在不改变的情况下工作”。这可能是一件值得考虑的事情(特别是如果你在不解决你的构建时间问题的情况下把它放在V9发布日期上)。这应该是很好的读法,因为这包括一个解释不同的生产标志的部分,以便优化构建步骤。此外,它还提供了有关@azure/ng部署包的详细信息,以帮助您使用azure。我想这不是这个问题的可能答案。如果我的答案对您有效,请接受答案。这些文档旨在在运行时优化应用程序,没有优化构建过程。即使是有角度的常春藤,在devops中构建也需要大约20分钟。什么都不管用