我们用 react-roucter-dom 具有 http-server ,当用户加载主页面并单击导航链接时,新页面将完全加载,但当用户刷新该路由中的页面时,将返回404。 意思是HTML5 pushState 不工作 http服务器 .
react-roucter-dom
http-server
pushState
http服务器
例子:
<Router> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/topics" component={Topics} /> </Router>
如果用户转到 /about 翻页刷新,会出现404错误
/about
有办法解决这个问题吗?
你应该使用其他支持HTML5历史API的包,比如 http-server-spa 相反 http-server .
由于应用程序是单页应用程序,因此会发生错误,这意味着您的整个站点数据都加载到 / 路线。这意味着,如果您试图访问任何其他页面,而不首先通过 / 路线,然后它就会失败。
/
泰勒·麦金尼斯 Blog Post 关于解决这个问题的各种方法。