首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React js未找到/刷新页面上的空白页面

React js未找到/刷新页面上的空白页面
EN

Stack Overflow用户
提问于 2021-04-23 02:57:15
回答 1查看 155关注 0票数 0

我知道这是一个常见的问题,我在stackoverflow中尝试了一些答案,但在我的例子中它还不起作用。

我在一个共享主机中有一个应用程序,它是我使用yarn build构建的。当我刷新页面时,一个404错误如期显示。所以我读取了this docs并用下面的代码创建了一个.htaccess文件:

代码语言:javascript
复制
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]

并将其添加到项目的根文件夹中。现在一切都正常了。

我的管理面板有第二个版本,位于子目录:https://example.com/Admin/Login,我在登录目录上为管理应用程序提供服务。

因此,当我刷新页面时,我也面临着同样的问题。例如https://example.com/Admin/Dashboard

如果我刷新https://example.com/Admin/Login,它会加载页面并正常工作,但是刷新https://example.com/Admin/Dashboard会得到一个空白页面。

我甚至使用位于public目录中的同一个.htaccess文件构建了管理面板,该文件在构建过程后被复制到构建文件夹,但它不起作用。我总是收到一张空白页。

我读了一些answers here,但它还不能工作。

routes.js:

代码语言:javascript
复制
import React from 'react';
import { BrowserRouter, Switch, Route } from "react-router-dom";

import Login from './pages/Login';
import Admin from './pages/Dashboard';

export default function Routes() {
    return (
        <BrowserRouter>
            <Switch>
                <Route path="/Admin/Login" exact component={Login} />
                <Route path="/Admin/Dashboard" component={Manager} />
            </Switch>
        </BrowserRouter>
    );

}

package.json:

代码语言:javascript
复制
{
  "name": "dashboard",
  "homepage": "https://example.com/Admin/Login",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "axios": "^0.21.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-icons": "^4.2.0",
    "react-input-mask": "^2.0.4",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.3",
    "web-vitals": "^1.0.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

还有什么我应该做的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-23 03:37:34

我将登录文件夹的内容移到根目录(https://example.com/Admin),这样登录表单就会加载到根目录中,而我让.htaccess保持不变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67219235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档