Javascript 如何使用服务器上的react路由器处理所有可能的路由?

Javascript 如何使用服务器上的react路由器处理所有可能的路由?,javascript,node.js,express,reactjs,react-router,Javascript,Node.js,Express,Reactjs,React Router,以下是: var路由=( ); Router.run(路由、函数(处理程序){ React.render(,document.body); }); 由于对node和声誉良好的前端js框架非常熟悉,请原谅noobish的问题 如何最好地处理服务器上的路由 我的意思是,当有人登陆/calendar时会发生什么,我必须在react代码中的客户端和express routes中的服务器上适应路由,还是express中应该有通配符路由。即某人登陆/calendar,是否应该将/的html表示为delev

以下是:

var路由=(
);
Router.run(路由、函数(处理程序){
React.render(,document.body);
});
由于对node和声誉良好的前端js框架非常熟悉,请原谅noobish的问题

如何最好地处理服务器上的路由

我的意思是,当有人登陆
/calendar
时会发生什么,我必须在react代码中的客户端和express routes中的服务器上适应路由,还是express中应该有通配符路由。即某人登陆
/calendar
,是否应该将
/
的html表示为delever,并允许react处理其余内容

谢谢,
John

我不确定它具体如何与react路由器配合使用,但通常在客户端路由中,您只从服务器提供主索引文件,然后由客户端处理路由

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

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

从那里客户端处理所有路由

可以使用React Router渲染两侧的所有路由

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

对于一个更高级的示例,我有一些Express中间件,它还处理客户端上的数据获取、页面标题生成和引导,本文对此进行了说明,并提供了相关源的链接:


好的,很酷,谢谢。为了帮助预加载信息,尝试并捕获请求的路径是一个好主意,还是根本不是这样?
app.get('/*', function (req, res) {
  res.sendFile('index.html');
});