使用地址栏

时间:2017-08-30 19:22:59

标签: reactjs express react-router

我有一个后端使用express来提供静态目录,路径/,其中包含一个页面前端。此后端还提供API REST。

前端是在React中构建的,并使用react-router从Web应用程序的不同视图中路由用户。

如果我的react-router有两个条目,请说/app/config

如果用户直接在网络浏览器的地址栏中输入网址,我该如何将客户端重定向到该应用程序的视图?

现在,如果我这样做,Express会收到请求并显然会返回404消息,因为单个页面将提供给/路径。

1 个答案:

答案 0 :(得分:2)

解决这个问题的一种简单方法是始终(即使在404s上)向用户发送快速路由处理程序中的index.html

请参阅:https://stackoverflow.com/a/25499007/2624575

但是,你需要注意一些事情:

1)您的React Router代码应该开始处理404s:https://stackoverflow.com/a/37491381/2624575

2)您需要正确处理资产的路径(图标,css,js等),否则您会将相同的index.html发送到这些资源(这将使您的页面渲染不正确)

3)确保react-router正在使用browserHistory(不使用哈希#的历史记录),这样React就能正确呈现您的路线< / p>

希望它有所帮助!