首屏下载数 MB JS、低端机解析卡死——先看清大头是谁,再拆。不要一上来乱加 splitChunks 规则。索引见 Webpack 问题索引。
你遇到的问题
| 现象 | 更可能是 |
|---|---|
| 首屏慢、FCP/LCP 差 | 主包/公共包过大 |
| 路由切换才卡 | 异步 chunk 仍偏大或预加载过多 |
| 体积突然暴涨 | 误打进 moment 全量语言包、重复 React 等 |
2 分钟诊断
webpack --profile --json > stats.json
# 上传到官方 analyse,或使用 webpack-bundle-analyzer
标出 Top 依赖:UI 库、图表、编辑器、polyfill、重复副本。
解法
- 路由/组件异步加载(
import())把非首屏挪走 - 去掉重复依赖:
npm ls react等,对齐到单一版本 - 按需引入:图表/antd/lodash 避免全量
- 生产压缩与 tree-shaking:确认
mode: 'production' - 多页场景才认真调
splitChunks;单页先异步拆路由
如何验证
- 分析图上最大块体积下降
- 关键路由首屏 JS(KB)有前后对比
- 功能未因拆包而 404 chunk
下一步
相关文章
浏览全部 →本地代理跨域/404 或改代码不热更新时:核对 devServer 配置入口、proxy 路径与 HMR 客户端是否真正连上。
2 分钟
2 分钟
构建慢、包体积大、devServer/代理/热更新不生效时:先按问题索引定位章节,再改配置;下文保留可检索的 Webpack 实操笔记。
32 分钟
HTML/JS/图片经 Nginx 很慢时:先确认是否走静态 location,再打开 sendfile、压缩与缓存头,最后才上 CDN。
3 分钟