【发布时间】:2022-01-14 06:43:42
【问题描述】:
在本地我可以很好地浏览到 /buttons 我什至可以刷新它并且它也很好,但是当我将构建目录上传到 github 页面时,我无法访问 /buttons 而是得到 GitHub 404 页面,而不是我的自己的“未找到”页面。
如果我从主页创建到 /buttons 的链接,按钮会加载,但直接在那里浏览不会加载。
import React, { useState } from 'react';
import { BrowserRouter, Switch, Route } from 'react-router-dom';
import { Context } from "./components/context";
import { Layout } from "./components/layout";
import { Home } from './routes/home';
import { Buttons } from './routes/buttons';
import { NotFound } from './routes/notfound';
const Router: React.FC = () => {
const [global, setGlobal] = useState({
language: localStorage.getItem("language") || 'en',
apiUrl: 'https://api.domain.com/api',
loggedIn: localStorage.getItem("jwt") ? true : false,
redirectUrl: '',
modal: false,
modalState: '',
});
return (
<Context.Provider value={{ global, setGlobal }}>
<BrowserRouter basename={process.env.PUBLIC_URL}>
<Route render = {({ location }) => (
<Layout location = { location }>
<Switch location = { location }>
<Route exact path = '/' component = { Home } />
<Route exact path = '/buttons/' component = { Buttons } />
<Route component = { NotFound }/>
</Switch>
</Layout>
)} />
</BrowserRouter>
</Context.Provider>
);
}
export { Router };
在 package.json 中,我确实将主页定义为:
"homepage": "https://myName.github.io/myRepo",
【问题讨论】:
-
您是否尝试过删除 basename 属性?
-
是的,如果我删除它,那么默认路由 / 显示 NotFound 路由并且 /buttons 仍然无法访问