模块热替换(Hot Module Replacement 或 HMR)是 webpack 提供的最有用的功能之一。它允许在运行时更新各种模块,而无需进行完全刷新;

启用

只需要在devServer 设置hot:true和添加new webpack.HotModuleReplacementPlugin()插件就可以
image.png
image.png

是否需要module.hot.accept判断

在上面例子中发现css变化不用添加判读就可以实现hmr的效果,而js代码需要添加判断才可以
image.png
原因本质上使用hmr都要写判断代码,

css-loader vue-loader(vue) babel-preset(react)都内置了hmr的判断代码,所以不用写