详解关于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 操作select下拉列表框的一点小经验
Mar 20 Javascript
js 纯数字不重复排列的另类方法
Jul 17 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
Jun 29 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 Javascript
javascript实现仿腾讯游戏选择
May 14 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
js实现音频控制进度条功能
Apr 01 Javascript
vue单页开发父子组件传值思路详解
May 18 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
Dec 20 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
微信小程序实现聊天室
Aug 21 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
php完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
php实现短信发送代码
2015/07/05 PHP
js 替换
2008/02/19 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
浅谈js的异步执行
2016/10/18 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
python概率计算器实例分析
2015/03/25 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
在django view中给form传入参数的例子
2019/07/19 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
了解一下python内建模块collections
2020/09/07 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
优秀士兵个人事迹材料
2014/01/19 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
开平碉楼导游词
2015/02/06 职场文书
花木兰观后感
2015/06/10 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书