2012-05-31 63 views
1

我正在嘗試構建一個用於學習Node.js的測試應用程序。我來自WordPress後臺,Apache爲我設置了大部分後端邏輯。但現在,我必須建立自己的。我有一個關於如何從服務器端向客戶端提供JSON文件的問題。什麼是工作流 - Backbone.js處理所有客戶端數據操作,從couchDB發送/保存/獲取/獲取,從NODE.js後端提供JSON對象?Node.js與CouchDB和Backbone.js一起工作,json如何被服務?

我使用Express Microframework來構建HTTP服務器,安裝了用於訪問CouchDB NoSQL數據庫的Cradle中間件。我成功地將客戶端HTML(Jade模板引擎)中的數據發佈到CouchDB數據庫/文檔,並能夠通過Cradle中間件從服務器獲取這些數據。事情發展很好。但這一切都是由後端完成的。

我想爲我的客戶端Javascript使用Backbone.js。 Backbone.js正在尋找從HTTP服務器返回的JSON對象。搖籃中間件能夠創建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保存/讀取/獲取數據交互?什麼是最佳實踐/工作流程?其他好的資源,代碼示例,有用的工具?

+0

我想你是在想一切都錯了。您正在選擇工具,而不是專注於解決問題。 – dscape

回答

1

搖籃中間件能夠創建JSON對象,但只有直接發送到玉模板

這是不正確。你可以發送json而不用渲染模板。

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

我是否還需要任何Backbone驅動程序?聽起來像搖籃會照顧所有人。你還可以描述什麼是最好的/流行的工作流程(Node.js - CouchDB - Backbone.js ==服務器 - 數據庫 - 客戶端) – MMA

+0

這一切都取決於你想要的。有一些集成的解決方案,例如您鏈接的解決方案(backbone-coucdb)。如果你使用它,你不需要中間層。如果您不想使用中間層,則可以對服務器執行正常的ajax請求以檢索數據。這可能是最基本的做法。 – Pickels

+0

聽起來像他們都適用於數據操作。有沒有任何教程或資源或代碼示例可以檢查出來?謝謝你的幫助。 – MMA

相關問題