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

Angular v5升级至v14后网站加载/重载时长增加问题咨询

Angular v14+ 升级后额外chunk加载问题排查与解决

问题描述

刚接触webpack5,将Angular v5+项目升级至v14+后,应用整体运行正常,但加载时会额外加载src_main_webapp_bootstrap_ts chunk文件,耗时约2.31s,旧版本无此文件,导致网站加载/重载耗时增加。

相关截图

  • 额外chunk文件截图:
    src_main_webapp_bootstrap_ts
  • 新旧版本加载耗时对比:
    Load time Angular v5 vs Angular v14

排查与解决步骤

  • 调整Angular构建优化配置
    在angular.json的build节点下,检查并修改optimization、splitChunks和runtimeChunk参数:

    "build": {
      "builder": "@angular-devkit/build-angular:browser",
      "options": {
        "optimization": true,
        "splitChunks": {
          "default": {
            "minSize": 50000,
            "cacheGroups": {
              "defaultVendors": {
                "test": /[\\/]node_modules[\\/]/,
                "priority": -10,
                "reuseExistingChunk": true
              },
              "default": {
                "minChunks": 2,
                "priority": -20,
                "reuseExistingChunk": true
              }
            }
          }
        },
        "runtimeChunk": false
      }
    }
    

    把runtimeChunk设为false避免拆分runtime代码,调高minSize阈值减少不必要的chunk拆分。

  • 简化bootstrap入口逻辑
    检查main.ts是否存在异步导入或额外拆分逻辑,Angular v14+的bootstrap流程与v5有差异,确保入口代码简洁:

    import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
    import { AppModule } from './app/app.module';
    
    platformBrowserDynamic().bootstrapModule(AppModule)
      .catch(err => console.error(err));
    
  • 配置预加载策略优化加载速度
    如果该chunk是必要初始化代码,在路由模块启用预加载策略:

    import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
    
    const routes: Routes = [/* 你的路由配置 */];
    
    @NgModule({
      imports: [RouterModule.forRoot(routes, {
        preloadingStrategy: PreloadAllModules
      })],
      exports: [RouterModule]
    })
    export class AppRoutingModule { }
    
  • 检查自定义webpack规则(如有)
    若项目用了custom-webpack插件,确认splitChunks规则是否误将bootstrap代码单独拆分,调整规则将其合并到主chunk中。

  • 验证生产构建效果
    开发环境的chunk拆分逻辑和生产环境不同,执行ng build --prod构建生产包,查看该额外chunk是否会被合并优化。

内容的提问来源于stack exchange,提问作者Omprakash Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 05:32:13