You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 6.7生产构建耗时超90分钟,求优化方案

缩短Angular 6.7生产构建时间的优化方案

一、模块与代码结构优化

  • 启用懒加载:将80余个模块拆分按需加载的特性模块,路由配置中使用loadChildren避免一次性编译所有模块:
    const routes: Routes = [
      { path: 'transaction', loadChildren: './transaction/transaction.module#TransactionModule' }
    ];
    
  • 清理冗余代码:删除未使用的组件、指令、服务,以及package.json中无依赖的包,缩小编译范围。
  • 共享模块复用:把通用组件、管道抽离到共享模块,避免重复编译相同代码片段。

二、调整Angular CLI构建参数

  • 禁用非必要编译项:如果不需要生产环境源码映射,关闭sourceMap减少编译耗时:
    node --max_old_space_size=16384 ./node_modules/@angular/cli/bin/ng build --prod --sourceMap=false
    
  • 启用并行构建:利用多核CPU并行编译模块,命令添加--parallel=true:
    node --max_old_space_size=16384 ./node_modules/@angular/cli/bin/ng build --prod --parallel=true
    
  • 优化chunk拆分:确保buildOptimizer开启(默认开启),添加--vendorChunk=true拆分第三方依赖chunk,避免重复打包。

三、第三方依赖优化

  • 确保依赖支持Tree Shaking:选择带有module字段的ES6模块格式依赖,让Angular CLI自动移除未使用代码。
  • 替换大体积依赖:用轻量级库替代重依赖,比如用date-fns替代moment.js,用按需引入的组件库替代全量库。
  • 缓存依赖版本:使用npm ci替代npm install,保证依赖版本一致,减少依赖安装和解析耗时。

四、硬件与环境优化

  • 提升硬件配置:增加CPU核心数(构建为CPU密集型任务),保持当前max_old_space_size的内存配置即可。
  • 使用SSD存储:大幅提升文件读写速度,减少编译过程中的IO等待时间。
  • 释放系统资源:关闭后台无关进程,让构建进程获得更多CPU和内存配额。

五、增量构建与CI/CD优化

  • 开启增量编译:在angular.json中配置"incremental": true,仅编译修改过的模块,后续构建耗时显著降低。
  • 拆分CI/CD任务:将lint、测试、构建拆分为独立并行任务,避免串行等待。
  • 缓存构建产物:在CI/CD环境中缓存node_modules和Angular CLI缓存目录,避免每次从头构建。

内容的提问来源于stack exchange,提问作者Manoj Sr Associate Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:14:54