webpack-HMR-热更新
什么是 HMR
通过 webpack-dev-server 自动打包并没有真正的放到指定的目录中, 因为读写磁盘是非常耗时和消耗性能的, 所以为了提升性能 webpack-dev-server 将转换好的内容直接放到了内存中, 通过 webpack-dev-server
可以实现实时监听打包内容的变化, 每次打包之后都会自动刷新网页, 但是正是因为每当内容被修改时都会自动刷新网页, 所以给我们带来了很多不便, 这时就需要通过 HMR
插件来优化调试开发
HMR(HotModuleReplacementPlugin) 热更新插件
会在内容发生改变的时候时时的更新修改的内容但是不会重新刷新网站
使用 HMR
HotModuleReplacementPlugin
是一个内置插件, 所以不需要任何安装直接引入 webpack
模块即可使用
在 devServer
中开启热更新:
hot: true
,开启热更新hotOnly: true
,即使热更新不生效,浏览器也不自动刷新
在 webpack.config.js
中创建热更新插件:
new Webpack.HotModuleReplacementPlugin()
注意点
- 如果是通过
style-loader
来处理 CSS, 那么经过前面两步就已经实现了热更新 - 如果是通过
MiniCssExtractPlugin.loader
来处理CSS, 那么还需要额外配置MiniCssExtractPlugin.loader
options: {
hmr: true
}
测试:
标签:
Webpack4+实现原理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具