Reactjs React路由器-路由不使用浏览器历史记录
我正在为我的SPA使用react路由器,因为我看到哈希路由不适合生产,所以我决定使用浏览器历史记录。但如果将其更改为浏览器历史记录,则路由将不起作用。我做错什么了吗?我的json包有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
“历史记录”:“^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'))
})