webpack多页面配置6--热加载刷新
更新日期:
最近项目中需要搭建一个多页面的环境,包括本地路由服务和分页面打包。
本节介绍开发部署时,实现热加载和页面刷新。
webpack插件
Express和Webpack
Express
本质是一系列middleware
的集合,因此,适合Express
的webpack
开发工具是webpack-dev-middleware
和webpack-hot-middleware
。
详细例子说明也可参考《Express结合Webpack的全栈自动刷新》。
webpack-dev-middleware
webpack-dev-middleware
是一个处理静态资源的middleware
。
有时候我们无需使用到Express
,我们常常使用webpack-dev-server
开启动服务。webpack-dev-server
实际上是一个小型Express
服务器,它也是用webpack-dev-middleware
来处理webpack
编译后的输出。
webpack-hot-middleware
webpack-hot-middleware
是一个结合webpack-dev-middleware
使用的middleware
,它可以实现浏览器的无刷新更新(hot reload
)。
这也是webpack
文档里常说的HMR(Hot Module Replacement)。
实现热加载和页面刷新
其实如果将热加载定义为文件变动时重新编译的话,其实我们上一节已经完成了。
但热加载的功能,不搭配页面自动刷新的话,其实就不完整了呢。
需要调整三个地方:
- 每个页面入口需要添加
webpack-hot-middleware/client?reload=true
。 - 在webpack配置中添加plugin插件
new webpack.HotModuleReplacementPlugin()
。 - 在
Express
实例中添加中间件'webpack-hot-middleware'
。
故我们的代码为:
|
|
这样,我们就实现了代码的热加载以及页面自动刷新了。
结束语
本节我们讲述了在webpack中添加代码热加载和页面自动刷新的功能,主要使用了webpack-dev-middleware
和webpack-hot-middleware
两个插件工具。
可参考代码github-vue-multi-pages,主要是这套环境使用在vue上的demo。
查看Github有更多内容噢:https://github.com/godbasin
更欢迎来被删的前端游乐场边撸猫边学前端噢
码生艰难,写文不易,给我家猪囤点猫粮了喵~