Webpack 似乎在没有明显原因的情况下重新加载我的组件两次

Webpack seems to be reloading my component twice with no apparent reason

我认为我的应用程序在开发模式和生产模式下都存在热重载问题。

基本上,我有一个 index.js 文件,我在其中呈现一个 App 组件。在我的 App 组件中,我只是控制台日志 "Hello from APP"。 在我看来,这应该只输出一次,但事实并非如此。 输出结果如下:

[HMR] Waiting for update signal from WDS...
Hello from APP
[WDS] Hot Module Replacement enabled.
[HMR] Waiting for update signal from WDS...
Hello from APP
[WDS] Hot Module Replacement enabled.

完整的源代码可以在这里找到:https://github.com/RosarioAleCali/react-example

谁能告诉我是什么导致了这个问题?也许我的 webpack 配置文件?

此外,当我直接输入 URL 或刷新页面时,也会出现此问题。我很乐意修复它,因为在一个更复杂的示例中,我需要发出 API 请求并显示数据,因此它当前的热加载方式一点也不好。

您的 index.html 中有此行​​。

<script src="/bundle.js"></script>

但是,html-webpack-plugin 将添加另一行执行相同的操作,因此您 运行 整个应用程序两次。您将要删除该行。

您正在加载的(旧)版本的 React 也是如此,因为 React 已经在捆绑包中。