位置: 编程技术 - 正文

webpack中CommonsChunkPlugin详细教程(小结)

编辑:rootadmin

推荐整理分享webpack中CommonsChunkPlugin详细教程(小结),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文介绍了webpack中CommonsChunkPlugin详细教程(小结),分享给大家,也给自己留个笔记,具体如下:

1.demo结构:

2.package.json配置:

3.多种打包情况(未使用CommonsChunkPlugin)

(1)单一入口,模块单一引用

webpack.config.js

main.js

demo目录下运行命令行 webpack或npm run webpack

jquery模块被一起打包到build.js

(2)单一入口,模块重复引用

webpack.config.js不变,main.js:

chunk1.js:

chunk2.js:

main.js引用了chunk1、chunk2,chunk1又引用了chunk2,打包后:

build.js:

(3)多入口,模块单一引用,分文件输出

webpack.config.js

打包后文件main.js,main1.js 内容与(2)build.js一致

(4)多入口,模块单一引用,单一文件输出

build.js与(2)一致

(5)多入口,模块重复引用,单文件输出

webpack.config.js与(4)一致

main.js

main1.js

报错:ERROR in ./main1.js

Module not found: Error: a dependency to an entry point is not allowed

@ ./main1.js 3:0-

4.使用CommonsChunkPlugin

(1)单一入口,模块单一引用,分文件输出:

webpack.config.js

main.js

webpack中CommonsChunkPlugin详细教程(小结)

输出文件main.js chunk.js,chunk1.js,chunck2.js,jquery都被打包到main.js里,好像并没有什么卵用,但是页面上使用的时候chunk.js必须在mian.js前引用

将chunk1.js,chunck2.js打包到chunk.js:

webpack.config.js

(1)单一入口,模块重复引用,分文件输出(单一入口CommonsChunkPlugin能否将多次引用的模块打包到公共模块呢?):

webpack.config.js

main.js

chunk1.js

chunk2模块被引用了两次

打包后,所有模块还是被打包到main.js中

(3)多入口,模块重复引用,分文件输出(将多次引用的模块打包到公共模块)

webpack.config.js

main.js,main1.js里都引用chunk1,chunk2.

打包后:

chunk1,chunk2被打包到chunk.js,不再像3(3)chunk1,chunk2分别被打包到mian,mian1中。

5.将公共业务模块与类库或框架分开打包

webpack.config.js

jquery被打包到common1.js,vue被打包到common2.js,chunk.js打包的是公共的业务模块(webpack用插件CommonsChunkPlugin进行打包的时候,将符合引用次数(minChunks)的模块打包到name参数的数组的第一个块里(chunk),然后数组后面的块依次打包(查找entry里的key,没有找到相关的key就生成一个空的块),最后一个块包含webpack生成的在浏览器上使用各个块的加载代码,所以页面上使用的时候最后一个块必须最先加载)

将webpack.config.js改为

main.js

main1.js

打包后

common.js

相当于公共的业务代码都打包到了common.js里

load.js

使用的时候必须最先加载load.js

6.参数minChunks: Infinity

看一下下面的配置会是什么结果

main.js,main1.js共同引用的chunk1和chunk2会被打包到jquery.js里

minChunks:2修改为minChunks:Infinity后,chunk1和chunk2都打包到main.js,main1.js里

7.参数chunks

webpack.config.js

只有在main.js和main1.js中都引用的模块才会被打包的到公共模块(这里即jquery.js)

本文链接地址:https://www.jiuchutong.com/biancheng/369758.html 转载请保留说明!

上一篇:详解用webpack的CommonsChunkPlugin提取公共代码的3种方式(webpack基本使用)

下一篇:微信小程序获取手机号授权用户登录功能(微信小程序获取手机号失败)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络