我是反应和 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 错误没有真正的解决方案,是否可以将任何刷新尝试重定向到“/”主路由?