Webpack5打包体积过大,怎么优化才能减小vendor.js?
最近项目升级到Webpack5后,发现打包出来的 vendor.js 超过2MB,首屏加载特别慢。我已经用了 SplitChunksPlugin 做了基础拆分,但效果不明显。试过把 node_modules 单独拆出来,但有些第三方库还是被打包进 vendor 里,比如 lodash 和 moment。
下面是我目前的 splitChunks 配置:
optimization: {
splitChunks: {
chunks: 'all',
cacheGroups: {
vendor: {
test: /[\/]node_modules[\/]/,
name: 'vendors',
chunks: 'all',
}
}
}
}
是不是配置哪里不对?有没有更有效的拆包策略或者 Tree Shaking 没生效?
另外lodash用lodash-es替代,moment直接换dayjs,这两个体积差十几倍。