Webpack代码分割配置后,vendors chunk为什么还是很大?

巧丽 Dev 阅读 91

在优化项目时,我按文档配置了SplitChunks,但打包后的vendors chunk依然有800KB。我尝试把minSize设成0,调整cacheGroups的test正则,甚至手动命名splitChunks chunks,但打包结果没变化。难道还有其他配置没考虑到?


optimization: {
  splitChunks: {
    chunks: 'all',
    minSize: 0,
    cacheGroups: {
      vendors: {
        test: /[\/]node_modules[\/]/,
        priority: -10
      }
    }
  }
},

打包报告里vue和axios被分到vendors~app.js,但单独的lodash文件却没有拆分出来。是不是cacheGroups的配置逻辑哪里错了?

我来解答 赞 13 收藏
二维码
手机扫码查看
1 条解答
设计师绍懿
你这配置看着没啥大问题,但vendors太大可能是node_modules里还有别的库被塞进去了。试试加个enforce: true,再看看打包结果:

optimization: {
splitChunks: {
chunks: 'all',
minSize: 0,
cacheGroups: {
vendors: {
test: /[/]node_modules[/]/,
priority: -10,
enforce: true // 强制生效
}
}
}
}


我之前这样搞的,一般都能拆得更细。要是还大,就检查下有没有啥巨无霸库没被按需加载。
点赞 9
2026-01-31 12:39