在 Webpack 5 上使用 "webpack serve" 时如何进行热重载
How to have hot reload when using "webpack serve" on Webpack 5
我刚升级到 Webpack 5,因为 webpack-dev-server
不再工作了,我将 npm start
命令从 webpack-dev-server
更改为 webpack serve
。
这是我的npm start
命令
webpack serve --config ./build-config/webpack.config.js
我可以看到控制台更新,打印输出,但是浏览器中的页面不会更新,我必须刷新浏览器页面。
额外
将 --mode development --env development --hot
添加到我的 npm start
并没有解决问题
webpack 版本:
"webpack": "^5.10.0",
"webpack-cli": "^4.2.0"
注:我说的不是webpack-serve
可能的解决方案是,
如果您不 运行 Node.js
就像在 webpack 配置的 devServer
选项中附加 hot: true
一样简单。
如果您 运行 低于 Node.js
在服务器文件中创建 webpackDevServer 实例时,您必须传递第二个 options 参数,其中包含键值对 hot: true
自从 Webpack 5 出现以来,配置变得有点棘手。在我看到你的开发 config/package.json 之前,我会假设你有正确的 dependencies/options。很难知道在回答您的问题时要考虑什么,因为您没有提供关于您的环境的明确输入等。
参考资料
对于documentation/concept:
https://webpack.js.org/api/hot-module-replacement/
如需综合指南:
https://webpack.js.org/guides/hot-module-replacement/
我刚升级到 Webpack 5,因为 webpack-dev-server
不再工作了,我将 npm start
命令从 webpack-dev-server
更改为 webpack serve
。
这是我的npm start
命令
webpack serve --config ./build-config/webpack.config.js
我可以看到控制台更新,打印输出,但是浏览器中的页面不会更新,我必须刷新浏览器页面。
额外
将 --mode development --env development --hot
添加到我的 npm start
并没有解决问题
webpack 版本:
"webpack": "^5.10.0",
"webpack-cli": "^4.2.0"
注:我说的不是webpack-serve
可能的解决方案是,
如果您不 运行 Node.js
就像在 webpack 配置的 devServer
选项中附加 hot: true
一样简单。
如果您 运行 低于 Node.js
在服务器文件中创建 webpackDevServer 实例时,您必须传递第二个 options 参数,其中包含键值对 hot: true
自从 Webpack 5 出现以来,配置变得有点棘手。在我看到你的开发 config/package.json 之前,我会假设你有正确的 dependencies/options。很难知道在回答您的问题时要考虑什么,因为您没有提供关于您的环境的明确输入等。
参考资料
对于documentation/concept: https://webpack.js.org/api/hot-module-replacement/
如需综合指南: https://webpack.js.org/guides/hot-module-replacement/