webpack5热更新
- 0
#讨论区
00条评论
实时对话
loading...
__webpack__modules__
用以维护所有的模块。而热模块替换的原理,即通过 chunk
的方式加载最新的 modules
,找到 __webpack__modules__
中对应的模块逐一替换,并删除其上下缓存。js
启动webpack webpack serve
打开浏览器,修改js,浏览器自动刷新
修改配置 inline置为true
修改代码,浏览器无刷新
memory-fs
,新文件产出之后如何通知到浏览器(基于 websocket 通信)hot
和hotOnly
的区别hot与hotOnly都会开启HMR热更新,但是对于不支持HMR的资源hot会fallback刷新加载,hotOnly不会刷新加载,会报如上错误
要自己配置
如果你遇到以下的问题
必须在入口文件加这个代码,否则热更新无效
js
style-loader
实现了热更新插件// webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require("path");
module.exports = {
target: 'web',
mode: "development",
entry: './index.js',
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new HtmlWebpackPlugin({title: 'Hot Module Replacement'})
],
devtool: 'source-map',
devServer: {
// inline:false,
// hot:false
// hotOnly: true
}
}
if (module.hot) {
module.hot.accept();
}