发布日期
· 阅读约 2 分钟

主包太大:用 Webpack 分析器定位再拆

首屏下载数 MB JS、低端机解析卡死——先看清大头是谁,再拆。不要一上来乱加 splitChunks 规则。索引见 Webpack 问题索引

你遇到的问题

现象更可能是
首屏慢、FCP/LCP 差主包/公共包过大
路由切换才卡异步 chunk 仍偏大或预加载过多
体积突然暴涨误打进 moment 全量语言包、重复 React 等

2 分钟诊断

webpack --profile --json > stats.json
# 上传到官方 analyse,或使用 webpack-bundle-analyzer

标出 Top 依赖:UI 库、图表、编辑器、polyfill、重复副本。

解法

  1. 路由/组件异步加载import())把非首屏挪走
  2. 去掉重复依赖npm ls react 等,对齐到单一版本
  3. 按需引入:图表/antd/lodash 避免全量
  4. 生产压缩与 tree-shaking:确认 mode: 'production'
  5. 多页场景才认真调 splitChunks;单页先异步拆路由

如何验证

  • 分析图上最大块体积下降
  • 关键路由首屏 JS(KB)有前后对比
  • 功能未因拆包而 404 chunk

下一步

  1. 构建耗时见 构建太慢
  2. 静态长缓存与 CDN 见 CDN 文
  3. 细则仍可在索引长文「打包优化」检索。

相关文章

浏览全部 →