使用node.js +反应服务器端渲染+ flux + mongodb

时间:2015-09-04 07:36:02

标签: javascript node.js mongodb reactjs

我正试图找到一种方法来降低处理三层信息时出错的可能性。让我试着解释一下。

我正在构建一个带有以下内容的网络应用

  • Node.js的
  • mongodb的
  • 做出反应(与服务器端呈现)
  • flux(alt.js)
  • browserify

数据流可以是以下两种之一:

  1. 用户要求提供一个页面 - >数据助手从数据库中获取正确的数据 - >传递给alt.js bootstrap来填充所有商店 - >要求做出反应来构建应用程序(renderToString)和渲染视图的组件 - >重新调整到客户端

  2. 用户更新内容 - >发送磁通动作(使用ajax呼叫服务器) - >数据助手准备要保存在数据库中的数据 - >保存并将结果返回给客户端 - >商店更新状态 - >反应组件更新了他的观点

  3. 有三个地方需要知道数据结构:

    1. 服务器中的数据助手,从数据结构中导出适当的数据并发送到mongodb或从数据库获取数据并构建数据结构
    2. 在用户操作后更新其状态的flux存储
    3. 从状态
    4. 呈现视图的组件

      这意味着如果我想更改数据结构(即使要更改其中一个属性的名称),我将不得不在三个地方进行更改,这可能非常危险且容易出错。

      有没有办法在JS中实现数据耦合?

2 个答案:

答案 0 :(得分:0)

我一直在研究这个问题,但仅针对客户端应用程序。我们考虑使用immutable datastructure解决方案,其中有几个。

最后,我们使用消息总线解决方案,基于PubSubJS将消息更改状态发送到应用程序的所有部分。我们将其与负责更新数据结构状态的辅助函数相结合,以便所有更新都由该函数控制。

答案 1 :(得分:0)

我认为您需要的功能是语法检查,这是编译器功能之一。而javascript不是一种编译语言。所以我的建议是改变一种语言。对我而言,我已经与Typescript合作了很长时间,它对我来说很好。它是一种编译语言,javascript就是它编译的内容。我认为在您定义界面后它可以满足您的需求。