【发布时间】:2021-09-23 11:46:13
【问题描述】:
我正在尝试使用webpack 创建一个react 应用程序,它也有一些路由。
"react-router-dom": "^5.2.0",
路由有效,但是当我转到特定路由并重新加载页面时,它会给出错误 cannot get /about
import React from "react";
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
export default function App() {
return (
<Router>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/users">Users</Link>
</li>
</ul>
</nav>
<Switch>
<Route path="/about">
<About />
</Route>
<Route path="/users">
<Users />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
</Router>
);
}
function Home() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function Users() {
return <h2>Users</h2>;
}
如this回答中所述,添加
devServer: {
historyApiFallback: true,
}
解决了在本地运行时的问题,但是一旦我部署它,我就会得到同样的错误
【问题讨论】:
-
如果您没有自己的服务器可以指定如何处理对路由的获取请求,您应该使用哈希路由器reactrouter.com/web/api/HashRouter。
-
听起来你只需要将所有请求路由到 /index
标签: javascript reactjs webpack react-router-dom