【Webpack】HMR 热更新

HMR全称Hot Module Replacement,可以理解为模块热替换,指在应用程序运行过程中,替换、添加、删除模块,而无需重新刷新整个应用。

例如,我们在应用运行过程中修改了某个模块,通过自动刷新会导致整个应用的整体刷新,那页面中的状态信息都会;如果使用的是HMR,就可以实现只将修改的模块实时替换至应用中,不必完全刷新整个应用。

 const webpack = require('webpack')
 module.exports = {
	 // ...
	 devServer: {
		 //  HMR 
		hot: true
		 // hotOnly: true
	 }
 }

通过上述这种配置,如果我们修改并保存 css 文件,确实能够以不刷新的形式更新到页面中。

但是,当我们修改并保存 js 文件之后,页面依旧自动刷新了,这里并没有触发热模块。所以,HMR并不像Webpack的其他特性一样可以开箱即用,需要有一些额外的操作。

我们需要去指定哪些模块发生更新时进行 HMR,如下代码:

if(module.hot){
	 module.hot.accept('./util.js',()=>{
		 console.log("util.js更新了")
	 })
 }

相关推荐

  1. 【Webpack】HMR 更新

    2024-07-20 21:10:04       14 阅读
  2. [Unity--更新之增量更新介绍]

    2024-07-20 21:10:04       57 阅读
  3. 关于 android 更新技术

    2024-07-20 21:10:04       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 21:10:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 21:10:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 21:10:04       45 阅读
  4. Python语言-面向对象

    2024-07-20 21:10:04       55 阅读

热门阅读

  1. Fisher-Yates 算法-数组元素随机交换

    2024-07-20 21:10:04       19 阅读
  2. C++ 中值传递和引用传递的区别?

    2024-07-20 21:10:04       13 阅读
  3. MATLAB的基础知识

    2024-07-20 21:10:04       19 阅读
  4. 【Vue】vue2 vue-awesome-swiper 刷新无法自动滚动解决

    2024-07-20 21:10:04       15 阅读
  5. 【Go系列】模块和协同开发

    2024-07-20 21:10:04       18 阅读
  6. C++中size_t怎么用

    2024-07-20 21:10:04       14 阅读
  7. Linux CAN数据收发

    2024-07-20 21:10:04       15 阅读
  8. shell + Python3 | 解析理解 gencode gtf 基因组注释文件

    2024-07-20 21:10:04       14 阅读
  9. dockerfile

    2024-07-20 21:10:04       16 阅读