为了账号安全,请及时绑定邮箱和手机立即绑定

webpack require.ensure 如何抽取公共模块

webpack require.ensure 如何抽取公共模块

斯蒂芬大帝 2018-10-19 14:11:09
在开发react的项目,打包上遇到这个问题多个按需加载的模块都引入了 地区静态文件,大概500kb左右import areaJson from './areaJson.js'打包后发现,这个areaJson.js是被分别打包了,请问如何配置webpack使按需加载模块中引用的包也能自动抽取出来
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

请问 你这个问题解决了吗,我目前可以做到抽离了,但是感觉有点奇葩。我使用的方式是:
entry: {
areaJson:“./areaJson.js”
}
plugins: [

  new webpack.optimize.CommonsChunkPlugin({  name: 'vendor',
  minChunks:2,
}),

]

简单来说就是先把areaJson打包成独立的chunk,这样webpack在使用 require.ensure 的时候会发现areaJson已经被打包成chunk它就不会再把areaJson打包进每个分离的chunk中。但是有个奇葩的地方:areaJson.chunk 可能只是个壳(里面只包含了一句webpackjsonp的调用),其主要内容被打包到vender(这才是我们想要的公共chunk)中了。总是感觉多了个壳怪怪的,目前我还是知道如何做到areaJson全部放到vender中。


查看完整回答
反对 回复 2018-11-06
  • 1 回答
  • 0 关注
  • 534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号