详解关于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 相关文章推荐
jquery一般方法介绍 入门参考
Jun 21 Javascript
jquery iframe操作详细解析
Nov 20 Javascript
innerHTML在IE中报错解决方案
Dec 15 Javascript
Javascript的闭包详解
Dec 26 Javascript
JavaScript制作windows经典扫雷小游戏
Mar 31 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 Javascript
微信小程序 获取微信OpenId详解及实例代码
Oct 31 Javascript
JS+CSS3制作炫酷的弹窗效果
Nov 08 Javascript
AngularJS学习第二篇 AngularJS依赖注入
Feb 13 Javascript
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
简单谈谈CommonsChunkPlugin抽取公共模块
Dec 31 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制作简单模版引擎
2016/04/07 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
Python序列化基础知识(json/pickle)
2017/10/19 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python函数的作用域及关键字详解
2019/08/20 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
管理科学大学生求职信
2013/11/13 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
大跃进口号
2014/06/16 职场文书
努力工作保证书
2015/02/28 职场文书
工程款催款函
2015/06/24 职场文书
致运动员的广播稿
2015/08/19 职场文书
升学宴家长答谢词
2015/09/29 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python