wepack 热更新 模块热替换
// =入口文件
import './a.js'
console.log(15);
if (module.hot) {
module.hot.accept('./a.js', function() {
// 使用更新过的 library 模块执行某些操作...
}, () => {
console.log('err');
})
}
// 热替换目标模块 a.js
export const a = 55555
console.log(555545554555555);
1。依赖包
"webpack": "5.73",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.11.1"
2.配置
devServer: {
static: './src',
hot: true
},
3.指定热替换的模块
if (module.hot) {
module.hot.accept('./a.js', function() {
// 使用更新过的 library 模块执行某些操作...
}, () => {
console.log('err');
})
}
更新a.js 内容整个网页更新
无
a.js热替换
上面的代码是入口文件的话肯定不会生效的,你要写到webpack的执行链条里面。
参考文档:https://www.webpackjs.com/guides/hot-module-replacement/#%E5%90%AF%E7%94%A8-hmr