webpack4之splitChunks.minChunks

概要

这个配置表示split前单个非按需导入的module的并行数的最低下限。

注:只对import或require直接引入的module有效。

分析

简单来讲,假如minChunks设置为n,那么某个module想要被拆分出去,那么它的共享次数(或者说并行请求次数必须 >= n):

1. minChunks设置为n
2. 假设有m个入口点,这m个入口点都直接引入了某个模块module(通过import或require直接或间接地引入了模块),也就是共享次数为m
3. 当m至少等于n时,module才会被单独拆分成一个bundle

但是,有个特例:

1. minChunks设置成1
2. 有一个入口点,入口点中import了一个模块,并打印了某些字符串,我们就叫它module
3. module被单独拆分成一个bundle,并且这个bundle文件中也包含了打印字符串的部分

我们注意到拆分出来的那个bundle包含了打印字符串的部分,那么如果入口点中仅仅包含了打印字符串的部分,没有引入module,结果是怎样呢,结果就是打印的那部分代码被单独拆分出来了。所以当minChunks被设为1时,被拆分出来的某个bundle一定包含非引入模块代码,如果非引入模块代码存在的话,而当值设为大于1的数值时,则不会出现这种情况。

最后,还有一个点需要注意,minChunks不能设为0,其值为 >= 1的正整数,不然为报错。

总结

  • splitChunks.minChunks表示split前单个非按需导入的module的并行数的最低下限,即某个模块的引用次数必须大于等于设置的数值,该模块才能被拆分出来;
  • splitChunks.minChunks值如果设为1,会存在被拆分出来的bundle包含非引入模块代码的可能,大于1则不会有这种情况;
  • splitChunks.minChunks值必须大于等于1;

last(最后)
非常感谢您能阅读完这篇文章,您的阅读是我不断前进的动力。如果上述内容或许有些错误或者有些个人理解比较偏离实际,还望指出,谢谢!!!

对于上面所述,有什么新的观点或发现有什么错误,希望您能指出。

最后,附上个人常逛的社交平台:
知乎:https://www.zhihu.com/people/bi-an-yao-91/activities
csdn:https://blog.csdn.net/YaoDeBiAn
github: https://github.com/yaodebian

个人目前能力有限,并没有自主构建一个社区的能力,如有任何问题或想法与我沟通,请通过上述某个平台联系我,谢谢!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值