我如何使用服务器上的反应路由器处理每条可能的路线?
how do i handle every route possible with a react router at the server?
继readme in the react-router之后:
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);
});
刚接触 node 和信誉良好的前端 js 框架,请原谅这个菜鸟问题..
如何最好地处理服务器上的路由?
我的意思是,当有人登陆 /calendar
时会发生什么,我是否必须在反应代码中适应客户端的路由,并在快速路由中适应服务器,还是应该有通配符路由在快递。 IE 某人登陆 /calendar
,是否应该为 /
表达 html 并允许反应处理其余部分?
谢谢,
约翰
我不确定它是如何与 react-router 一起工作的,但通常在客户端路由中,您只提供来自服务器的主索引文件,然后客户端处理路由。
使用 Express,您可以设置一个始终为您的主索引文件(以及您的客户端)提供服务的路由。在我的站点上,我使用 AngularJS 作为路由,我在中间件之外的唯一路由是
app.get('/*', function (req, res) {
res.sendFile('index.html');
});
客户端从那里处理所有路由。
您可以使用 React Router 在两侧渲染 all 路由。
在服务器端,如果您使用的是 Express 或类似软件,这通常意味着创建一些中间件,这些中间件将使用 React Router 来处理传入请求,而不是使用您的 server-side 库自己的路由。在这个答案中有一个最小的例子和解释:
对于更高级的示例,我有一些 Express 中间件,它还可以处理客户端上的数据获取、页面标题生成和引导,记录在此处,并带有相关来源的链接:
继readme in the react-router之后:
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);
});
刚接触 node 和信誉良好的前端 js 框架,请原谅这个菜鸟问题..
如何最好地处理服务器上的路由?
我的意思是,当有人登陆 /calendar
时会发生什么,我是否必须在反应代码中适应客户端的路由,并在快速路由中适应服务器,还是应该有通配符路由在快递。 IE 某人登陆 /calendar
,是否应该为 /
表达 html 并允许反应处理其余部分?
谢谢, 约翰
我不确定它是如何与 react-router 一起工作的,但通常在客户端路由中,您只提供来自服务器的主索引文件,然后客户端处理路由。
使用 Express,您可以设置一个始终为您的主索引文件(以及您的客户端)提供服务的路由。在我的站点上,我使用 AngularJS 作为路由,我在中间件之外的唯一路由是
app.get('/*', function (req, res) {
res.sendFile('index.html');
});
客户端从那里处理所有路由。
您可以使用 React Router 在两侧渲染 all 路由。
在服务器端,如果您使用的是 Express 或类似软件,这通常意味着创建一些中间件,这些中间件将使用 React Router 来处理传入请求,而不是使用您的 server-side 库自己的路由。在这个答案中有一个最小的例子和解释:
对于更高级的示例,我有一些 Express 中间件,它还可以处理客户端上的数据获取、页面标题生成和引导,记录在此处,并带有相关来源的链接: