9

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

我不确定为什么在向某些页面发出 GET 请求时会出错。尝试访问“ http://simple-pen.surge.sh/notebooks/1/notes ” url,但失败。在一种情况下,我设置了它,因此如果用户登录,“simple-pen.surge.sh”根路径会将用户重定向到他们的笔记本路由,即“ http://simple-pen.surge.sh/notebooks " 呈现页面,但是当我直接对该 URL 发出实际请求时,我会收到错误消息。

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

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

4

3 回答 3

21

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

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

从这里你可以像往常一样继续

于 2019-08-20T12:48:58.210 回答
7

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

  1. 运行npm run build命令后,您必须转到 react 应用程序文件夹的 build 文件夹。
  2. 获取 index.html 文件的副本。然后将它放在同一个地方并将其重命名为 200.html 现在它将按我们的意愿工作。这就是今天的全部内容。

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

于 2017-07-03T10:28:16.980 回答
5

在 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

于 2018-11-02T00:24:37.870 回答