如何使用服务器上的react路由器处理所有可能的路由
how do i handle every route possible with a react router at the server?
遵循react路由器中的自述文件:
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框架,请原谅这个愚蠢的问题。。
如何最好地在服务器上处理路由?
我的意思是,当有人登陆/calendar
时会发生什么,我是否必须适应反应代码中客户端和快速路由中服务器的路由,或者快速路由中是否应该有通配符路由。IE有人登陆/calendar
,应该为/
表达html并允许反应处理其余内容吗?
谢谢,John
您可以使用React Router来渲染两侧的所有路由。
在服务器端,如果您使用Express或类似软件,这通常意味着创建一些中间件,使用React Router来处理传入请求,而不是使用服务器端lib自己的路由。这个答案中有一个最简单的例子和解释:
- 客户端路由(使用react路由器)和服务器端路由
对于一个更高级的例子,我有一些Express中间件,它还处理客户端上的数据获取、页面标题生成和引导,这里有文档记录,并链接到相关来源:
- https://github.com/insin/isomorphic-lab/tree/master#express-中间件源
我不确定它是如何与react路由器协同工作的,但通常在客户端路由中,您只从服务器提供主索引文件,然后客户端处理路由。
使用Express,您可以设置一个始终为您的主索引文件(进而为您的客户端)提供服务的路由。在我的网站上,我使用AngularJS进行路由,并且我在中间件之外唯一的路由是
app.get('/*', function (req, res) {
res.sendFile('index.html');
});
客户端从那里处理所有路由。
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- Livereload for node.js.有可能吗
- 有可能在来自链接的警报中有一个值吗
- 如何使用服务器上的react路由器处理所有可能的路由
- 有可能通过sessionID获得快速会话吗
- 正在对已提取的文档进行填充.有可能吗?如果有,怎么做
- 有可能得到一个大整数实例的自然日志吗
- Ajax与jQuery同步.有可能吗
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 有可能隐藏同行吗;强制转向/继电器时相互IP
- 如何使用javascript从同一浏览器下的其他页面获取URL?有可能吗
- JavaScript在变量中存储操作?有可能吗
- 我有可能防止黑客使用网络控制台用JavaScript重复调用upvote(AJAX)函数吗
- 是否有可能通过Javascript处理页面发出的每个GET请求
- 是否有可能知道该请求正在处理中
- 是否有可能用jQuery xml处理程序解析SOAP响应?
- 是否有可能在JS / html中运行批处理文件而不使用ActiveX ?
- 是否有可能在加载jQuery之前预先注册处理程序?
- 是否有可能通过AJAX处理条纹表单?
- 有可能“劫持”吗?并延迟文档准备事件处理程序