Jaf*_*aei 3 httpserver reactjs react-router
我们使用react-roucter-domwith http-server,当用户加载主页面并点击导航链接时,新页面将完美加载,但是当用户在该路由中刷新页面时,它返回404。这意味着 HTML5pushState不适用于http-server.
例子 :
<Router>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/topics" component={Topics} />
</Router>
Run Code Online (Sandbox Code Playgroud)
如果用户转到/about页面并刷新它,则会发生404错误
有没有办法解决这个问题?
小智 6
运行 http-server 时使用它:
http-server --proxy http://localhost:8080? ./build
Run Code Online (Sandbox Code Playgroud)
它将无法处理的任何错误请求重定向到您的 react-router 配置所在的 index.html。如果所有请求都到达此页面,则 react-router 会在内部处理路由。
顺便说一句,我在 package.json - scripts 中构建了一个小脚本,以调用所有这些并为构建文件夹提供如下服务:
scripts: {
...
"serveprod": "npm run build && http-server --proxy http://localhost:8080? ./build"
...
}
Run Code Online (Sandbox Code Playgroud)
只需运行:
npm run serveprod
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3747 次 |
| 最近记录: |