React app:使用Node / express作为中端代理服务器

时间:2016-01-27 20:24:17

标签: node.js express reactjs server isomorphic-javascript

我正在为传统的RESTful API服务器(Golang)构建一个React应用程序。直接的方法很容易:

React --> Redux (or any flux) --> Go server

但是我现在考虑将Node / express插入中间端,因此堆栈变为:

React --> Redux --> Node/express --> Go server

我能想到的好处是:

  • 服务器端呈现
  • 更快的表单验证
  • 在发送到Go API之前清洗数据,包含许多令人惊叹的节点包
  • 轻松管理身份验证和会话

缺点很明显,添加了图层后,任何最终进入后端的请求都会来回更多时间。

我对架构很陌生,很高兴知道人们是否在他们的生产项目中使用这个额外的堆栈?经历如何?

1 个答案:

答案 0 :(得分:2)

我们正在为我们的应用程序使用类似的堆栈React --> Redux --> Node/express OR Go server。我们牺牲了代理节点服务器的额外延迟,以便能够连接SSO服务器(不同于我们的GO服务器),还可以进行服务器端渲染。

我们之所以选择这个,是因为我们是一个面向公众的网站,允许用户在Facebook上分享帖子。如果我们没有服务器端渲染,我们需要支付像Prerender.io这样的昂贵服务。

我建议(我们做过的)唯一的事情就是通过节点服务器进行一些调用,比如渲染或与SSO相关的东西,但是允许一些直接的API请求直接进入GO服务器。除非你需要对GO和React之间的每个请求做一些事情,否则我建议这样做以防止一些开销。