【问题标题】:Angular - how to build 72 production packages fasterAngular - 如何更快地构建 72 个生产包
【发布时间】:2019-11-30 12:20:18
【问题描述】:

我们目前为每个新功能构建了 72 个生产包:

  • 6 白标突变(使用不同的角度配置来替换 css、图像、组件等)
  • 每个突变都有 6 个使用 i18n XLF 文件的语言变体
  • 每个包都有针对 ES2015 和 es5 的构建

现在总共需要 3 个小时。使其更快的最佳选择是什么?此时我们执行 npm run build-all,它会依次运行一个接一个的构建。它消耗大约 1GB RAM 和 100% CPU。

我们认为:

构建自己强大的 PC - 最好的规格是什么?我们可以利用多线程 CPU 并并行构建吗?

租用超级强大的 AWS EC2 实例并停止/启动仅用于构建

使用当前机器并行构建包 - 你有脚本/工具的例子吗?

还有其他推荐吗?

【问题讨论】:

  • 我认为您应该先问问自己,是什么让您拥有 72 个软件包,以及如何将其优化到更少——而不是如何更快地构建它。
  • @Dino 如果使用开箱即用的 Angular i18n,如何避免单独的包?如果要优化加载,如何避免单独的 ES2015 和 ES5 包?您如何避免使用不同组件、样式、图像在不同域上运行的白标解决方案的单独包?您在没有任何建议的情况下投反对票无济于事......

标签: angular build angular-cli


【解决方案1】:

David,您可以利用与 CI/CD 管道、docker 容器结合的云服务来构建包并且可以并行运行。

【讨论】:

  • 我没有在云服务中使用管道的第一手经验。与在云中使用自有或专用机器相比,它通常是否更具成本效益/更快?
  • 请通过链接aws.amazon.com/codebuild,您只需为运行服务的时间付费。
猜你喜欢
  • 2019-05-04
  • 2021-03-14
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
相关资源
最近更新 更多