React.js与Node.js Rest API

是否应该将我的Reactjs应用程序包含在与我的REST API相同的应用程序中?

我是Reactjs的新手。 我已经构build了一些独立的Node REST API。 我正在构build一个React应用程序,一个Android应用程序和一个iOS应用程序(所以REST API需要为所有这三个应用程序提供服务)。 我想知道在构buildNode API时会遵循什么约定。

有2个选项,我看到它…

1)我可以构build一个包含REST API和React App的大型应用程序。 这个应用程序将服务于移动应用程序的所有API调用和反应/ Web应用程序。 它也将服务于所有的意见,即HTML,CSS等。

要么

2)我可以build立两个更小的应用程序。 人们可以使用独立的(更轻的)节点服务器为视图模板提供React应用程序。 第二个应用程序不会持有任何意见。 它只是作为一个JSON API来服务所有三个应用程序。

我会build议去一个同构的应用程序。 看看这个锅炉板: react-redux-universal-hot-example 。

在您的项目中,您可以运行两个端口:一个用于呈现您的反应视图(我更喜欢服务器端渲染以提供更快的Web渲染),另一个用于Apis和Web套接字。

您的移动应用也可以使用api / ws服务器进行RESTful服务。

我build议为前端和后端构build单一的应用程序。 一旦缩放成为一个问题,那么分离两者就更有意义了,因为您需要从CDN提供前端内容。

但是对于一些小事,分开前端和后端需要你必须运行两个独立的服务器并处理CORS: https : //en.wikipedia.org/wiki/Cross-origin_resource_sharing