html增加文件后自动更新,关于 webpack-dev-server 中 html 文件的自动刷新

背景:

webpack

中,我们经常使用

webpack-dev-server

作为开发服务器,用于实时监听和打包编译静态资源(内存中),这样每当我们修改js、css等等文件时,客户端(如浏览器等)能够自动刷新页面,展示实时的页面效果。

这种方式非常适合多显示器下,前端界面的开发

问题:

webpack-dev-server

好像是只监听

webpack.config.js

中entry入口下文件(如js、css等等)的变动,只有这些文件的变动才会触发实时编译打包与页面刷新,而对于不在entry入口下的html文件,却不进行监听与页面自动刷新。

请问该如何才能使html的修改也能触发页面的自动刷新呢?

首先要理解

webpack

hmr

(Hot Module Replacement):

HMR is a way of exchanging modules in a running application (and adding/removing modules). You basically can update changed modules without a full page reload.

可以看出所谓模块热替换指的是页面在尽量不经过刷新的情况下将页面所引用的js或css等模块进行热替换。这里之所以说是尽量不经过刷新页面是因为webpack在热替换检查失败的情况会刷新整个页面,可以参见源码:https://github.com/webpack/webpack/blob/…

所以如果想让页面进行刷新可以采用下面几种方法:

让页面也成为模块,具体做法就是在页面的入口js文件里

require

页面的html,可参见Demo:https://github.com/AriaFallah/WebpackTut…

修改

hot check

强制reload整个页面(PS: 这种仍然没法监听页面变动)

通过其他方式来做,如: https://github.com/mklabs/tiny-lr 或 https://www.npmjs.com/package/livereload

你可以吧你想要hot reload的文件夹手动添加

$ webpack-dev-server --content-base folder/

也许你需要这个插件

https://github.com/ampedandwired/html-we…

支持根据模板自动生成html(修改自动更新不在话下),自动载入build后的style、js文件。

950-390_%E7%94%BB%E6%9D%BF-1.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值