详解关于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 相关文章推荐
Javascript下判断是否为闰年的Datetime包
Oct 26 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
利用js实现遮罩以及弹出可移动登录窗口
Jul 08 Javascript
JS中实现replaceAll的方法(实例代码)
Nov 12 Javascript
javaScript使用EL表达式的几种方式
May 27 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
jquery+json实现数据二级联动的方法
Nov 28 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
Javascript中parseInt的正确使用方式
Oct 17 Javascript
Three.js实现简单3D房间布局
Dec 30 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
May 02 Javascript
JavaScript实现图片伪异步上传过程解析
Apr 10 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
JQuery toggle使用分析
2009/11/16 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
python显示天气预报
2014/03/02 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
Python制作刷网页流量工具
2017/04/23 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
python实现打砖块游戏
2020/02/25 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
商务专员岗位职责
2013/11/23 职场文书
个人授权委托书模板
2014/09/14 职场文书
中国世界遗产导游词
2015/02/13 职场文书
公司辞职信模板
2015/05/13 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
消费者投诉书范文
2015/07/02 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
思想品德课教学反思
2016/02/24 职场文书
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫