Node.js适用于CouchDB和Backbone.js,如何提供json?

时间:2012-05-31 14:10:46

标签: node.js backbone.js couchdb express cradle

我正在尝试构建一个用于学习Node.js的测试应用程序。我来自wordpress背景,Apache为我设置了大部分后端逻辑。但现在,我必须建立自己的。我有一个关于如何从服务器端到客户端提供JSON文件的问题。什么是工作流 - Backbone.js处理所有客户端数据操作,从couchDB发送/保存/获取/获取,从NODE.js后端提供JSON对象?

我使用Express Microframework构建HTTP服务器,安装了Cradle中间件以访问CouchDB NoSQL数据库。我成功地将客户端HTML(Jade模板引擎)中的数据发布到CouchDB数据库/文档,并能够通过Cradle中间件从服务器中检索这些数据。事情很棒。但这一切都是由Backend完成的。

我想将Backbone.js用于我的客户端Javascript。 Backbone.js正在寻找从HTTP服务器发回的JSON对象。 Cradle Middleware能够创建JSON对象,但只能将它们直接发送到Jade模板,我可以使用Jade语法循环迭代数据对象,但它仍然不符合我想要的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中的数据save / fetch / get进行交互?什么是最佳实践/工作流程?其他好的资源,代码示例,有用的工具?

1 个答案:

答案 0 :(得分:1)

  

Cradle Middleware能够创建JSON对象,但只能将它们直接发送到Jade Template

这是不正确的。您可以在不渲染模板的情况下发回json。

function(req, res, next){
  db.view('user/byUsername', { key: 'luke' }, function (err, doc) {
    res.send(doc); // or res.json(doc);
  });
}