使用一个节点服务器设置2个reactjs应用程序

时间:2018-03-14 22:45:13

标签: node.js reactjs

我需要使用一个node.js服务器设置2个ReactJS应用程序。使用create-react-app创建的ReactJs应用程序。

应用程序具有不同的用途,但将在相同的用户上下文中运行。两者都有自己的路由器(来自<Route>上的react-router组件)和个人行为。

一个应用程序具有另一个应用程序的超链接。一旦用户点击链接,就会加载另一个应用程序,反之亦然。

我对如何设置我的服务器感到困惑。我应该创建两个不同的路线   - 比如app.use("/app1")app.use("/app2")

在开发中,我应该运行2个webpack-dev-servers,类似于(考虑默认的create-react-app配置):

$ npm start (for my server)
$ npm start (for my client1)
$ npm start (for my client2)

在制作中,如何从一个应用程序切换到另一个应用程序?

为了达到这个目的,是否有一般的“如何”?

1 个答案:

答案 0 :(得分:0)

在开发中,您可能会在使用package.json创建后自定义create-react-app。您很可能require proxies

在生产中,您可以使用Express服务器挂载2个不同的router s(router docs),它们使用路由逻辑并在不同路径上提供不同的静态React生成文件。

如果您的2个应用使用不同的域名,请尝试使用Express vhost模块(Github link)

如果您的2个应用最终需要HTTPS,并且您仍需要单个节点服务器,请了解tlsServer.addContext()。否则,您必须将其拆分为2个节点服务器,并且需要使用反向代理,使用node-http-proxynginx