React.js与Node.js Rest API

5
我应该将我的Reactjs应用程序包含在同一个应用程序中作为我的REST API吗?
我是Reactjs的新手。我已经构建了一些独立的Node REST API。我正在构建一个React应用程序、一个Android应用程序和一个iOS应用程序(因此REST API需要为这三个应用程序提供服务)。我想知道在构建Node API时惯例是什么。
我认为有两个选项...
1)我可以构建一个大型应用程序,涵盖REST API和React App。这个应用程序将服务于所有移动应用程序和react/web应用程序的API调用。它还将提供所有视图,例如HTML、CSS等。
或者
2)我可以构建两个较小的应用程序。一个将使用单独(更轻)的Node服务器为React应用程序提供视图模板。第二个应用程序不会保存任何视图。它只作为JSON API工作,为所有三个应用程序提供服务。
2个回答

2
我建议使用同构应用程序。可以查看这个样板文件:react-redux-universal-hot-example
在您的项目中,您可以运行两个端口:一个用于呈现React视图(我更喜欢服务器端渲染以提供更快的Web渲染),另一个用于API和Web套接字。
您的移动应用程序也可以使用api/ws服务器进行RESTful服务。

请查看此文章以获取有关“同构”应用程序的更多信息... http://nerds.airbnb.com/isomorphic-javascript-future-web-apps/ - jhilliar

0
我建议为前端和后端构建单一应用程序。一旦扩展成为问题,那么分离两者就更有意义了,因为您将希望从CDN提供前端内容。
但对于一些小型项目来说,分离前端和后端将需要您运行两个独立的服务器并处理CORS:https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接