【问题标题】:when page refresh "404 - File or directory not found."当页面刷新“404 - 找不到文件或目录”时。
【发布时间】:2019-10-15 19:23:11
【问题描述】:

我的 react 应用程序在本地运行,但在部署后,当我按下任何按钮时我都遇到了问题,但如果我想刷新,我会看到问题“404 - 找不到文件或目录”。

我找到了这个解决方案: https://github.com/ReactTraining/react-router/blob/v3/docs/guides/Histories.md#browserhistory

配置您的服务器

“您的服务器必须准备好处理真实的 URL。当应用程序第一次在 / 加载时,它可能会工作,但是当用户四处导航然后点击 /accounts/23 的刷新时,您的网络服务器将获得一个请求 /accounts/23。您将需要它来处理该 URL 并将您的 JavaScript 应用程序包含在响应中。"

但我不知道我该怎么做 我尝试了一些东西,但它不起作用

【问题讨论】:

  • 如果您使用 nginx 服务将所有请求重定向到 index.html,这将解决问题。这样你的应用就会收到所有的请求

标签: reactjs react-router browser-history


【解决方案1】:

由于服务器在目录中找不到静态内容(即找不到文件 /tomcat/accounts/23),除非您有额外的路由处理,否则它会给您 404。

在 React 路由中,我认为您可以尝试使用 HashRouter

在此处查看更多详细信息:

https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/api/HashRouter.md

HashRouter vs BrowserRouter

【讨论】:

    【解决方案2】:

    试试

    1. npm run build,这将在您的项目根文件夹中创建构建文件夹
    2. 如果您想部署到远程服务器,只需传输该构建 文件夹。
    3. npx serve -s build 在 windows 上,如果您使用的是 mac,请查看它是否仍然是 npx。
    4. 然后尝试刷新它的每条路径

    希望这行得通,编码愉快。

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 2021-07-20
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      相关资源
      最近更新 更多