我是react和gitlab页面托管的新手,目前我在gitlab-pages上托管我的第一个应用程序。几天前,我添加了react-router-dom来在特定页面/路由之间导航。路由运行良好,但是当我试图刷新gitlab上除"/“主域之外的任何页面时,我得到了一个404错误(例如,我在/booked路由上按F5,我的gitlab给了我404错误)。我的配置有什么问题吗?如下所示:
...
import { Route, BrowserRouter as Router } from "react-router-dom";
const routing = (
<Router basename={process.env.PUBLIC_URL}>
<div>
<Route exact path="/" component={Home} />
<Route path="/booking" render={props => <Child {...props} />} />
<Route
path="/booked" render={props => <ChildChild{...props} />}
/>
<Route path="/bookedd" component={ChildChildChild} />
</div>
</Router>
);
ReactDOM.render(routing, document.getElementById("root")); 下面是我的gitlab-ci.yml:
test:
image: node:9.6.1
stage: test
script:
- npm install; npm run test
pages:
image: node:9.6.1
stage: deploy
variables:
PUBLIC_URL: "/pageName"
script:
- rm package.json; mv package.json.pages package.json;
npm install;npm install react-scripts@1.1.1 -g;npm run build
- rm -rf public; mv build public
artifacts:
paths:
- public
only:
- master 如果404错误没有真正的解决方案,是否可以将任何刷新尝试重定向到"/“主路由?
发布于 2019-09-22 03:19:37
最简单的解决方案是使用HashRouter而不是BrowserRouter ...它会将#放在项目名称后面的URL中
https://stackoverflow.com/questions/54153911
复制相似问题