Reactjs React路由器-路由不使用浏览器历史记录

Reactjs React路由器-路由不使用浏览器历史记录,reactjs,react-router,Reactjs,React Router,我正在为我的SPA使用react路由器,因为我看到哈希路由不适合生产,所以我决定使用浏览器历史记录。但如果将其更改为浏览器历史记录,则路由将不起作用。我做错什么了吗?我的json包有“历史记录”:“^2.0.0”,“react router”:“^2.5.1”,“” var browserHistory = require('react-router').browserHistory; <Router history={browserHis

我正在为我的SPA使用react路由器,因为我看到哈希路由不适合生产,所以我决定使用浏览器历史记录。但如果将其更改为浏览器历史记录,则路由将不起作用。我做错什么了吗?我的json包有
“历史记录”:“^2.0.0”,“react router”:“^2.5.1”,“

            var browserHistory = require('react-router').browserHistory;

            <Router history={browserHistory}>
                <Route path="/" component={PreAuthPage}/>
                <Route path="/loggedIn" component={PostAuthPage}>
                    <Route path="/loggedIn/page1" component={Page1}/>
                    <Route path="/loggedIn/page2" component={Page2}/>
                </Route>
            </Router>`
`

我应该怎么做才能访问


我试图添加
app.get(“/loggedIn”,…)
,但没有要重定向的特定html页面。我已将其添加为一个组件

您不应该向express router添加任何其他内容-所有get请求
*
都应该转到您的索引html文件。另外,在使用路径时不应包含斜杠。加入它会破坏它的用途。另外,您不需要用斜杠启动react路由器路由。如果有服务器端身份验证,我将必须指定特定路径的get请求…对吗?我个人会验证用户身份并在客户端上显示加载微调器,或者,我会使应用程序同构,以便身份验证基本上是第一个加载的路由上的服务器端(但您仍然以正常的客户端方式编写身份验证,没有特殊的快速路由)。是的,如果它不是同构的,那么这就是梅西耶,你必须在成功的身份验证中加载index.html,并有一个单独的unauthed.html文件来重定向失败的请求,我想你不需要在你的
包.json
中包含
历史
,这就是
react router
包装的内容
          `app.use(express.static(path.join(__dirname,"/app")));

          app.get('*', function (req, res) {
              res.sendFile(path.join(__dirname, '/app', 'index.html'))
           })