详解关于webpack多入口热加载很慢的原因


Posted in Javascript onApril 24, 2019

之前为公司搭建了套webpack多页面应用脚手架,起初用得挺爽,资源整合打包,组件化开发,各种组件复用,需要什么就拿什么,后来入口有50个页面了,慢慢的发现了每次按保存后的热加载等待时间越来越长,需要等待10几秒,实在太影响开发效率,于是我查找原因。

观察发现,每次到热加载时会在emitting HtmlWebpackPlugin这停留很久。

详解关于webpack多入口热加载很慢的原因

于是我想知道它到底停留了多长时间呢?

在package.json内加入--profile,它会告诉你编译过程中哪些步骤耗时最长。

详解关于webpack多入口热加载很慢的原因

停止npm,重新运行webpack-dev-server,修改下文件按保存,观察控制台,发现总花费时长为15035毫秒,在emitting就花费了13239毫秒,这emitting应该就是指上面的图片的emitting HtmlWebpackPlugin了,看来我们解决HtmlWebpackPlugin,热加载速度就能恢复正常了。

详解关于webpack多入口热加载很慢的原因

HtmlWebpackPlugin就是我们入口对应的的html页面,new的页面越多,热加载速度就会越慢。

详解关于webpack多入口热加载很慢的原因

我尝试注释掉所有html页面,只留下一个案例详情html页面,重新启动webpack-dev-server,修改文件按下保存,发现速度惊人,只用了772毫米,看来问题出在html-webpack-plugin这个插件上。

详解关于webpack多入口热加载很慢的原因

详解关于webpack多入口热加载很慢的原因

难道是我的html-webpack-plugin配置有问题吗,于是我在网上寻找解决办法,做了各种尝试,直到我找到html-webpack-plugin的github上放弃寻找了,原来插件作者有发布几十条lssues(链接https://github.com/jantimon/html-webpack-plugin/issues),其中就包括该插件的多页面性能问题。

详解关于webpack多入口热加载很慢的原因

我尝试点进问题谈论里面看了看,里面的谈论已经不能算是怎样配置html-webpack-plugin插件了,涉及webpack底层的东西,觉得没必要去深究了,也让人不得不思考webpack现在是否适合多页面开发啊。。

总结:

1、HtmlWebpackPlugin除了正在开发的页面,其它注释掉。

2、等待插件作者修复此问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js打开windows上的可执行文件示例
May 27 Javascript
javascript解决IE6下hover问题的方法
Jul 28 Javascript
JavaScript Length 属性的总结
Nov 02 Javascript
js流动式效果显示当前系统时间
May 16 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
Dec 08 Javascript
老生常谈js-react组件生命周期
May 02 Javascript
jquery.masonry瀑布流效果
May 25 jQuery
webpack实现热更新(实施同步刷新)
Jul 28 Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
Dec 08 Javascript
iview中Select 选择器多选校验方法
Mar 15 Javascript
微信小程序实现的一键连接wifi功能示例
Apr 24 #Javascript
vue router 通过路由来实现切换头部标题功能
Apr 24 #Javascript
js实现全选反选不选功能代码详解
Apr 24 #Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
Apr 24 #Javascript
Vue源码解析之数据响应系统的使用
Apr 24 #Javascript
详解微信小程序文件下载--视频和图片
Apr 24 #Javascript
详解微信小程序之一键复制到剪切板
Apr 24 #Javascript
You might like
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
如何用PHP做到页面注册审核
2017/03/02 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
express 项目分层实践详解
2018/12/10 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python函数的周期性执行实现方法
2016/08/13 Python
Python爬豆瓣电影实例
2018/02/23 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
python怎么对数字进行过滤
2020/07/05 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
3分钟英语演讲稿
2014/04/29 职场文书
个人年底工作总结
2015/03/10 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
幼儿园六一主持词
2015/06/30 职场文书
图书馆义工感想
2015/08/07 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书