webpack4.0打包的时候一些技巧
4.0的webpack要比之前的版本强大的不是一点点
打包的时候也做了很多优化
然后说一些这段时间发现的有趣的技巧
1. 打包出来的文件很大,不知道是什么原因可以用 webpack-bundle-analyzer
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
config.plugins.push(new BundleAnalyzerPlugin()
)
然后打包之后就会在浏览器弹出页面

比如我这个就是在告诉我highlightjs太大了,700多kb这种解决方案,一般是想办法抽离一部分highlight
这个玩意很炫酷,也很方便,强烈推荐
2. 公共模块分离
optimization: {
splitChunks: {
cacheGroups: {
commons: {
chunks: 'initial',
minChunks: ,
maxInitialRequests: ,
minSize:
},
vendor: { // 将第三方模块提取出来
test: /node_modules/,
chunks: 'initial',
name: 'vendor',
priority: , // 优先
enforce: true
}
}
}
}
webpack4.0的拆分变得人性化多了,可以很方便的把node_modules里的公共功能抽离出来,抽离出来不会有错的,客户端缓存起来,这部分是不会变动的
3. 压缩代码 compression-webpack-plugin
使用mode=production本身是会压缩的,但是这个压缩只是代码压缩,而浏览器其实是支持gzip和其他各种格式的压缩文件的,我们完全可以给浏览器一个压缩包的
使用这个插件压缩成gzip会使得代码体积再减小一两倍之多。用法也很简单
const CompressionWebpackPlugin = require('compression-webpack-plugin')
config.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp('\\.(js|css)$'),
threshold: ,
minRatio: 0.8
})
)
当然这个玩意前提是要有个服务器支持的哦
一般的做法是我们请求某个js资源的时候,配置返回为压缩好的压缩包而不是js
就介绍这三个啦,如果你的webpack里还没有用过这三种优化,那就赶快试试吧。。
webpack4.0打包的时候一些技巧的更多相关文章
- webpack4.0打包优化策略整理小结
本文转载于:https://www.jb51.net/article/137449.htm 介绍了webpack4.0打包优化策略整理小结,分享给大家,具体如下: webapck4 新特性介绍-参考资 ...
- Windows SharePoint Services 3.0编码开发工具和技巧(Part 1 of 2)
转:http://blog.csdn.net/mattwin/article/details/2074984 WSSv3 Technical Articles_Windows SharePoint S ...
- 创建自己的library类库包并使用webpack4.x打包发布到npm
创建自己的library类库包并使用webpack4.x打包发布到npm 我们在开发过程中,可能经常要使用第三方类库,比如jquery.lodash等.我们通过npm,下载安装完之后,就可以使用了,简 ...
- 史上最走心webpack4.0中级教程——配置之外你应该知道的事
<webpack4.0各个击破系列>适合不满足于只会配置webpack但一时间又看不懂源码的中级读者.我没法保证这个系列是最好的,但至少能保证每一篇博文都跟那些Ctrl+C和Ctrl+V的 ...
- webpack4.0各个击破(1)—— html部分
webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...
- webpack4.0各个击破(2)—— CSS篇
webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...
- webpack4.0各个击破(3)—— Assets篇
目录 一. Assets资源的基本处理需求 二. webpack处理引用资源 2.1 资源打标 2.2 引用优化 2.3 sprites雪碧图合成 2.4 图片压缩及其他 webpack作为前端最火的 ...
- webpack4.0各个击破(4)—— Javascript & splitChunk
目录 一. Js模块化开发 二. Js文件的一般打包需求 三. 使用webpack处理js文件 3.1 使用babel转换ES6+语法 3.2 脚本合并 3.3 公共模块识别 3.4 代码分割 3.5 ...
- webpack4.0各个击破(5)—— Module篇
webpack4.0各个击破(5)-- Module篇 webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决 ...
随机推荐
- csp-s模拟100,101T1,T2题解
题面:https://www.cnblogs.com/Juve/articles/11799325.html 我太蒻了只会T1T2 组合: 欧拉路板子?不会呀... 然后打了个优化,防止暴栈 #inc ...
- python封装email模块
一.代码 from email.mime.text import MIMEText from email.header import Header from email.utils import pa ...
- 03_springboot2.x日志处理
1.日志框架 市场上存在非常多的日志框架.JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback.SLF4j ...
- Java SE开发系列-JDK下载安装
JDK下载安装 JDK是Java的开发环境,目前JDK内部也包含了JRE,JRE主要是JAVA程序的运行环境. 点击官方下载地址,按着下图操作即可下载对应系统的不同版本JDK. 进入页面滑到页面底部点 ...
- inux下tcpdump命令的使用
tcpdump | grep 120.241.0.223 tcpdump | grep 106.39.153.237 tcpdump host 172.31.140.147 and 120.241.0 ...
- sqllocaldb
创建实例 sqllocaldb create v12.0 启动实例 sqllocaldb start v12.0
- [JZOJ1320] 【Usaco2009 gold 】拯救奶牛
题目 题目大意 一个三角形的网格图,三角形与其有共同边的三角形相连. 起点到所有终点的最短距离. 思考历程 数据看起来还挺大的,所以不是什么图论算法. 这显然是一个结论题. 什么结论? 然后我就开始推 ...
- apache tomcat 一个网站多域名的实现方法
因此处是进行多域名设置,所以 Apache 与 tomcat的结合没有详述,此处只是设置多域名的方法 windows下 C:\WINDOWS\system32\drivers\etc 文件夹内 hos ...
- 廖雪峰Java13网络编程-1Socket编程-5UDP编程
1. UDP编程: 不需要建立连接 可以直接发送和接收数据 1.1 客户端 DatagramSocket sock = new DatagramSocket(){} sock.connect(addr ...
- System.Web.Mvc.ViewEngineResult.cs
ylbtech-System.Web.Mvc.ViewEngineResult.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, P ...