webpack-HMR-热更新

什么是 HMR

通过 webpack-dev-server 自动打包并没有真正的放到指定的目录中, 因为读写磁盘是非常耗时和消耗性能的, 所以为了提升性能 webpack-dev-server 将转换好的内容直接放到了内存中, 通过 webpack-dev-server 可以实现实时监听打包内容的变化, 每次打包之后都会自动刷新网页, 但是正是因为每当内容被修改时都会自动刷新网页, 所以给我们带来了很多不便, 这时就需要通过 HMR 插件来优化调试开发

HMR(HotModuleReplacementPlugin) 热更新插件

会在内容发生改变的时候时时的更新修改的内容但是不会重新刷新网站

使用 HMR

HotModuleReplacementPlugin 是一个内置插件, 所以不需要任何安装直接引入 webpack 模块即可使用

devServer 中开启热更新:

image-20211114181117543

  • hot: true,开启热更新
  • hotOnly: true,即使热更新不生效,浏览器也不自动刷新

webpack.config.js 中创建热更新插件:

image-20211114181149873

new Webpack.HotModuleReplacementPlugin()

注意点

  • 如果是通过 style-loader 来处理 CSS, 那么经过前面两步就已经实现了热更新
  • 如果是通过 MiniCssExtractPlugin.loader 来处理CSS, 那么还需要额外配置 MiniCssExtractPlugin.loader

image-20211114181311200

options: {
    hmr: true
}

测试:

动画

End

posted @   BNTang  阅读(146)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示