在Webpack的生产环境中,可以通过配置optimization.splitChunks选项来拆分模块。这有助于减少主包的大小,通过异步加载非关键代码,提升应用的加载速度和性能。你可以根据实际需求配置不同的cacheGroups来拆分不同类型的模块,如vendors(第三方库)、dll(特定的第三方库集)或codeMirror(特定功能相关的库)。配置示例如下:
optimization: {
runtimeChunk: {
name: "manifest"
},
splitChunks: {
chunks: "all",
cacheGroups: {
dll: {
test: /[\\/]node_modules[\\/](react|react-dom|react-router-dom|babel-polyfill|mobx|mobx-react|mobx-react-dom|antd|@ant-design)/,
minChunks: 1,
priority: 2,
name: "dll"
},
codeMirror: {
test: /[\\/]node_modules[\\/](react-codemirror|codemirror)/,
minChunks: 1,
priority: 2,
name: "codemirror"
},
vendors: {
test: /[\\/]node_modules[\\/]/,
minChunks: 1,
priority: 1,
name: "vendors"
}
}
}
}
注意:在test正则中,我修正了react-dom-router为react-router-dom,因为react-dom-router不是一个常见的库名,可能是笔误。请根据实际情况调整。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。