【发布时间】:2016-02-15 08:21:54
【问题描述】:
所以我了解使用 React / Node 进行同构渲染的基础知识,但我对如何将 Apache 或 NGINX 融入我的环境感到困惑。
通常,对于客户端页面,我只提供来自 Apache 或 NGINX 的静态内容,而客户端页面将对 Node.js 进行 AJAX 调用(通过 Apache 或 NGINX 进行反向代理)。节点会提供数据,页面会相应地改变。
使用 React 查看同构页面,页面最初在 Node 服务器上呈现,并且更改从服务器提供给客户端。我仍然可以使用 Apache 或 NGINX 来负载平衡和反向代理我的请求吗?
例如,我将有一个 Node 实例为我的 API 提供服务,一个 Node 实例用于渲染 React 并将其提供给客户端。在这个例子中,我可以负载平衡、反向代理我的调用,并从 Apache/NGINX 提供我的 .js 和 .css 包吗?在此示例中,用户将访问 www.example.com/ - 这将首先转到 Apache/NGINX,后者将反向代理对节点服务器的调用,节点服务器将呈现页面并将其提供给客户端。然后,在页面上,客户端将单击某个按钮并访问 www.example.com/api/test,这也将转到 Apache/NGINX 并反向代理到第二个 Node 实例,这会将数据返回给客户端.还是应该单击该按钮返回到第一个 Node 实例(进行渲染的地方),然后该 Node 实例调用第二个 Node 实例来获取数据、渲染新片段并将其返回给客户端?
基本上,我想要一个同构应用程序,它具有在我的节点服务器前安装 Apache 或 NGINX 的所有好处。这是可能的和/或最佳实践吗?如果不是,那么对于同构应用程序来说,理想的环境是什么,这样我仍然可以将 Apache 或 NGINX 的所有优点作为我的 web 应用程序的入口点?
【问题讨论】:
标签: node.js apache nginx reactjs isomorphic-javascript