代码之家  ›  专栏  ›  技术社区  ›  SayJeyHi

带http服务器的React路由器

  •  0
  • SayJeyHi  · 技术社区  · 6 年前

    我们用 react-roucter-dom 具有 http-server ,当用户加载主页面并单击导航链接时,新页面将完全加载,但当用户刷新该路由中的页面时,将返回404。 意思是HTML5 pushState 不工作 http服务器 .

    例子:

    <Router>
        <Route exact path="/" component={Home} />
        <Route path="/about" component={About} />
        <Route path="/topics" component={Topics} />
    </Router>
    

    如果用户转到 /about 翻页刷新,会出现404错误

    有办法解决这个问题吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Soroush Chehresa TommyF    6 年前

    你应该使用其他支持HTML5历史API的包,比如 http-server-spa 相反 http-server .

        2
  •  0
  •   ManavM    6 年前

    由于应用程序是单页应用程序,因此会发生错误,这意味着您的整个站点数据都加载到 / 路线。这意味着,如果您试图访问任何其他页面,而不首先通过 / 路线,然后它就会失败。

    泰勒·麦金尼斯 Blog Post 关于解决这个问题的各种方法。