我如何处理服务器上的反应路由器可能的每条路线?

在反应路由器中的自述文件之后:

var routes = ( <Route name="app" path="/" handler={App}> <Route name="inbox" handler={Inbox}/> <Route name="calendar" handler={Calendar}/> <DefaultRoute handler={Dashboard}/> </Route> ); Router.run(routes, function (Handler) { React.render(<Handler/>, document.body); }); 

对节点和一个有信誉的前端js框架是非常新鲜的,请原谅noobish的问题..

在服务器上处理路由最好如何?

我的意思是,当某人登陆/calendar时会发生什么事情,我是否必须在快速路线中的客户端和服务器上容纳路线,或者是否有快递路线。 IE某人登陆/calendar ,应该表示为/的HTML并允许处理其余的?

谢谢,约翰

我不确定它是如何与react-router一起工作的,但通常在客户端路由中,您只需从服务器提供主索引文件,然后客户端处理路由。

使用Express,您可以设置一个始终服务于您的主索引文件的path(并反过来在您的客户端)。 在我的网站上,我使用AngularJS进行路由,而我在中间件之外的唯一路由是

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

从那里客户端处理所有路线。

你可以使用React Router来渲染双方的所有路由。

在服务器端,如果你使用的是Express或类似的,这通常意味着创build一些中间件,它将使用React Router来处理传入的请求,而不是使用服务器端lib自己的路由。 这个答案中有一个最小的例子和解释:

  • 客户端路由(使用react-router)和服务器端路由

对于更高级的示例,我有一些Express中间件,它也处理数据获取,页面标题生成和引导在客户端上,这里logging,链接到相关的来源: