博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习webpack4 - 抽离公共代码
阅读量:6703 次
发布时间:2019-06-25

本文共 1402 字,大约阅读时间需要 4 分钟。

...持续中

=======================================================

抽离公共代码

我们在开发多个页面的项目的时候,有时候会在几个页面中引用某些公共的模块,这些公共模块多次被下载会造成资源浪费,如果把这些公共模块抽离出来只需下载一次之后便缓存起来了,这样就可以避免因重复下载而浪费资源,那么怎么在webpack中抽离出公共部分呢?方法如下:

公共模块抽离

举例:

项目中分别有a.js, b.js, page1.js, page2.js这四个JS文件, page1.js 和 page2.js中同时都引用了a.js, b.js, 这时候想把a.js, b.js抽离出来合并成一个公共的js,然后在page1, page2中自动引入这个公共的js,怎么配置呢?如下:

配置webpack.config.js文件:

module.exports = {  //...  //优化项配置  optimization: {    // 分割代码块    splitChunks: {      cacheGroups: {        //公用模块抽离        common: {          chunks: 'initial',           minSize: 0, //大于0个字节          minChunks: 2 //抽离公共代码时,这个代码块最小被引用的次数        }      }    }  }}

完成!

第三方模块抽离

页面中有时会引入第三方模块,比如import $ from 'jquery'; page1中需要引用,page2中也需要引用,这时候就可以用vendor把jquery抽离出来,方法如下:

module.exports = {  //...  //优化项配置  optimization: {    // 分割代码块    splitChunks: {      cacheGroups: {        //公用模块抽离        common: {          chunks: 'initial',          minSize: 0, //大于0个字节          minChunks: 2, //在分割之前,这个代码块最小应该被引用的次数        },                //第三方库抽离        vendor: {          priority: 1, //权重          test: /node_modules/,          chunks: 'initial',          minSize: 0, //大于0个字节          minChunks: 2, //在分割之前,这个代码块最小应该被引用的次数        }      }    }  }}

注意:这里需要配置权重 priority,因为抽离的时候会执行第一个common配置,入口处看到jquery也被公用了就一起抽离了,不会再执行wendor的配置了,所以加了权重之后会先抽离第三方模块,然后再抽离公共common的,这样就实现了第三方和公用的都被抽离了。

不加权重之前:

jquery也被抽离到了公共js里
clipboard.png

加了权重之后:

clipboard.png

转载地址:http://sbblo.baihongyu.com/

你可能感兴趣的文章
ImportError: The _imagingft C module is not installed
查看>>
李洪强iOS经典面试题144-数据存储
查看>>
svn 和 git的区别
查看>>
五一游
查看>>
iOS后台解析
查看>>
Android View 深度分析requestLayout、invalidate与postInvalidate
查看>>
3.操作系统简单介绍 操作系统发展历史 批处理分时系统 操作系统是什么 操作系统对文件的抽象 进程 虚拟内存是什么 操作系统作用 操作系统功能...
查看>>
五花八门的main()
查看>>
PHP中的正则表达式及模式匹配
查看>>
当爬虫被拒绝时(Access Denied) - 风中之炎 - 博客园
查看>>
今天是多特殊
查看>>
tomcat的webappclassloader中一个奇怪的异常信息
查看>>
Java语言与C++语言的差异总结
查看>>
Semaphore实现Andoird版源代码剖析
查看>>
使用gSoap规避和改动ONVIF标准类型结构的解析
查看>>
架构设计之策略模式
查看>>
hdu 5400 Arithmetic Sequence(模拟)
查看>>
求职(2015南京站获得百度、美的集团、趋势科技、华为offer)
查看>>
压测 apache ab 初探
查看>>
设计数据结构O1 insert delete和getRandom
查看>>