React App 回退到根索引,除非重置缓存

React App falls back to root index, unless resetting cache

在 Chrome 中,如果我请求 URL 例如https://example.com/privacy,弹出的create-react-app位于根web路径,响应是http://example.com/index.html的内容!这是一个问题,因为 Web 根路径中存在一个带有 index.html 的静态 privacy 文件夹,如果需要,显然不应该 return 根网页。我怀疑这是一个或多个服务人员的工作。我不太熟悉它们是如何工作的,但目前我唯一想到的就是让 https://example.com/privacy 方案起作用,即 return https://example.com/privacy/index.html 而不是 https://example.com/index.html

我试过将 service-worker.js 重命名为 service-worker__.js,因为现在感觉它造成的麻烦多于好处,但这并没有解决问题。

正如@Tholle 指出的那样,解决方案是在 index.js 中调用 unregister() 来注销服务工作者。

如果您排除了您的服务器没有为每个 404 请求提供服务 index.html,那么很可能是 service worker 出了问题。

您可以导入 unregister 函数并调用它来注销服务工作者。

src/index.js

import { unregister } from './registerServiceWorker';

unregister();