Surge 部署的 React 应用程序 - 获取 404 页面未找到

Surge-deployed React app - getting 404 Page Not Found

我有一个 运行 在 (http://simple-pen.surge.sh) 上的应用程序。这是用前端的 React/Redux 和后端的 Rails 构建的。当我进入网站时,我可以注册或登录并为用户颁发 JWT 令牌。登录后,我有一组可以查看的笔记本。但是,只有在单击笔记本时,我才会被重定向到 404 页面未找到错误。

我不确定为什么在向某些页面发出 GET 请求时出现错误。 尝试访问呈现页面的“http://simple-pen.surge.sh/notebooks/1/notes" url, but fails. In one scenario, I have it set so if the user is logged in, the "simple-pen.surge.sh" root path redirects the user to their notebooks route i.e. "http://simple-pen.surge.sh/notebooks”,但是当我直接对此 URL 发出实际请求时,我收到错误。

下面是分别指向 React 和 Rails 应用程序的 GitHub 存储库的链接。 https://github.com/jamesvphan/simplepen-react https://github.com/jamesvphan/simplepen

任何关于为什么会发生这种情况的帮助或知识都会很棒!

您无法直接访问您的路线。你必须为此做这个小技巧。

  1. 在执行 运行 npm run build 命令后,您必须转到 React 应用程序文件夹的构建文件夹。
  2. 复制 index.html 文件。然后在同一个地方过去并将其重命名为 200.html 现在它将如我们所愿地工作。今天就到这里。

阅读有关此问题的更多信息:here

在 package.json

中更改构建步骤
"build": "react-scripts build && cp build/index.html build/200.html"

来源:https://medium.com/superhighfives/serving-client-side-routing-with-surge-sh-7b705542cf3

按照以下步骤解决(只有4个浪涌):

  1. npm run build
  2. cd build
  3. cp index.html 200.html
  4. surge

从这里您可以照常继续