Node.js 与 CouchDB 和 Backbone.js 一起使用,如何提供 json?
Posted
技术标签:
【中文标题】Node.js 与 CouchDB 和 Backbone.js 一起使用,如何提供 json?【英文标题】:Node.js works with CouchDB and Backbone.js, How json is being served? 【发布时间】:2012-05-31 14:10:46 【问题描述】:我正在尝试构建一个用于学习 Node.js 的测试应用程序。我来自 wordpress 背景,Apache 为我设置了大部分后端逻辑。但现在,我必须建立自己的。我有一个关于如何从服务器端向客户端提供 JSON 文件的问题。工作流程是什么——Backbone.js 处理所有客户端数据操作,从 couchDB 发送/保存/获取/获取,从 NODE.js 后端提供 JSON 对象?
我正在使用Express Microframework 构建 HTTP 服务器,安装了 Cradle 中间件以访问 CouchDB NoSQL 数据库。我成功地将数据从客户端 html(Jade 模板引擎)发布到 CouchDB 数据库/文档,并能够通过 Cradle 中间件从服务器检索这些数据。事情进展顺利。但这一切都是由后端完成的。
我想将 Backbone.js 用于我的客户端 javascript。 Backbone.js 正在寻找从 HTTP 服务器发回的 JSON 对象。 Cradle Middleware 能够创建 JSON 对象,但只能将它们直接发送到 Jade 模板,我可以使用 Jade 语法 for loop 来迭代数据对象,但它仍然不符合我想要的 Backbone.js 处理所有数据输入。我意识到我需要通过 ajax 获取 JSON obj(或者由 HTTP 生成的文件然后发送回客户端或将直接对象发送到客户端)。摇篮中间件无法做到这一点。
我对这个问题做了更多的研究。我试过CouchApp,它可以满足我的需要。使用 Backbone.js 处理所有数据,从 CouchDB 数据库发送/保存/获取数据。但它是在 CouchApp 中运行,而不是 Express Node.js 工作流。 (也许我错了,或者只是不知道它是如何工作的)
我试过backbone-couchdb.js。我通读了详细信息,但仍然不知道它会帮助我得到我想要的东西。 (可能需要更多教程或代码示例)。我仍然认为我需要一个 Backbone CouchDB 驱动程序来连接这两者并以某种方式通过 NODE.js 后端为它们提供服务。
有没有人可以告诉我 Node.js 是如何提供 JSON 文件的,backbone.js 如何与来自 CouchDB 的数据保存/获取/获取交互?最佳实践/工作流程是什么?其他好的资源、代码示例、有用的工具?
【问题讨论】:
我认为您认为一切都错了。您是在挑选工具,而不是专注于解决手头的问题。 【参考方案1】:Cradle 中间件能够创建 JSON 对象,但只能将它们直接发送到 Jade 模板
这是不正确的。您可以在不渲染模板的情况下将 json 发回。
function(req, res, next)
db.view('user/byUsername', key: 'luke' , function (err, doc)
res.send(doc); // or res.json(doc);
);
【讨论】:
我是否还需要任何主干驱动程序或其他任何东西?听起来摇篮会照顾一切。你能否描述一下最好/流行的工作流程(Node.js - CouchDB - Backbone.js == Server - DB - Client) 这一切都取决于你想要什么。有一些集成解决方案,例如您链接的那个(backbone-coucdb)。如果您使用它,则不需要中间层。如果您不想使用中间层,您可以向服务器发出正常的 ajax 请求以检索数据。这可能是最基本的方法。 听起来它们都适用于数据操作。是否有任何教程或资源或代码示例可供我查看?感谢您的帮助。 您似乎缺少一些常识。我会先从学习骨干开始,然后学习一些基本的 Node.js + Express.js。我不知道任何教程,但考虑到这两种技术的流行程度,Google 应该会给你一些不错的结果。 @MMA:我发现 PluralSight.com 上有关 Node.js 和 Backbone.js 的网络广播很有用。如果您支付正式会员费,您还可以下载代码。以上是关于Node.js 与 CouchDB 和 Backbone.js 一起使用,如何提供 json?的主要内容,如果未能解决你的问题,请参考以下文章
在 Apache 或 IIS 中托管时将 Backbone.js 与 CouchDB 连接
Node.js 和 Java EE 从 CouchDB 读取 JSON 数据的性能比较
node.js 可以像 CouchApp 一样执行从 CouchDB 提取的 JavaScript 函数吗?如何?
JavaScript Node.js:将基于地理的Flickr数据导入CouchDB