Webpack 的 optimization.splitChunks 配置为什么没生效?
我项目里用了 Webpack 5,想把 node_modules 里的第三方库单独打包成 vendor.js,但配置了 splitChunks 后发现输出文件还是只有 main.js,没生成 vendor 文件。
我试过照着官网文档写,也加了 cacheGroups,但就是不拆包。是不是哪里写错了?
optimization: {
splitChunks: {
chunks: 'all',
cacheGroups: {
vendor: {
test: /[\/]node_modules[\/]/,
name: 'vendor',
chunks: 'all',
}
}
}
}
两种解决办法:
1. 强制分割,在 cacheGroups 里加个
force: true:2. 或者用动态导入,让 Webpack 知道这里需要拆包:
第一种最省事,改完重新 build 就能看到 vendor.js 了。