为什么 webpack-dev-server 会无限重载?

问题描述 投票:0回答:1

我分叉(未弹出)创建 React App 5 并对其进行了轻微修改以适合我的应用程序:我将

PUBLIC_URL
更改为
file://build/
(我有一个使用
file://
加载 HTML 文件的 Electron 应用程序,但这应该是'没有任何区别)。

当我这样做时,当我在 webpack-dev-server 5 运行时编辑文件时,webpack 5 的热模块替换会无限地重新加载窗口,而不是仅重新加载窗口一次。

我查看了 HMR 的源代码,当 webpack-dev-server 客户端加载时,它会获取包的当前哈希值,然后 HMR 告诉客户端新的哈希值,然后进行比较,如果不同,则会触发HMR 替换或整页重新加载(这发生在我身上,因为这是我的

src/index
文件)。

由于某种原因,初始哈希永远不会更新为新哈希,因此当它进行比较时它总是失败,因此无限地重新加载。

为什么会发生这种情况?我应该能够将

PUBLIC_URL
更改为结尾带有斜杠的任何内容。

webpack create-react-app webpack-dev-server webpack-hmr
1个回答
0
投票

问题是浏览器缓存了捆绑 JS 文件,因此它永远不会有用于相等性检查的新哈希值。

默认情况下,webpack-dev-server 不会缓存捆绑文件。

© www.soinside.com 2019 - 2024. All rights reserved.