在 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/