webpack 性能优化HMR (热模块替换)HMR: hot module replacement 热模块替换 / 模块热替换
作用:一个模块发生变化,只会重新打包这一个模块(而不是打包所有模块)
极大提升构建速度
1、样式文件:可以使用HMR功能:因为style-loader内部实现了~
2、js文件:默认不能使用HMR功能 –> 需要修改js代码,添加支持HMR功能的代码
12345678if (module.hot) { // 一旦 module.hot 为true,说明开启了HMR功能。 --> 让HMR功能代码生效 module.hot.accept('./print.js', function() { // 方法会监听 print.js 文件的变化,一旦发生变化,其他模块不会重新打包构建。 // 会执行后面的回调函数 //print(); });}
注意:HMR功能对js的处理,只能处理非入口js文件的其他文件。
3、html文件: ...