2012-12-17 85 views

回答

3

您需要了解Node和Backbone是相互獨立的。

  • 節點爲服務器端(例如使用數據庫,API服務等)。
  • Backbone是一個客戶端Javascript MVC框架,它爲您提供了一個用於組織客戶端Javascript應用程序的結構。 (在瀏覽器中的應用)

您可以在您的客戶端主幹網應用程序,它可以連接到任何後端任一節點時,Rails,PHP等..

更多info檢查客戶端的MVVM模式和Javascript框架。

http://backbonetutorials.com/why-would-you-use-backbone/

http://addyosmani.com/blog/understanding-mvvm-a-guide-for-javascript-developers/

+1

你可以在後端使用Backbone模型和集合,以及視圖和事件,甚至可以使用一些調整的路由器 –

+0

這是正確的。我只是給出了問題提供者的簡單信息來首先理解這個概念。 –

+1

謝謝Serdar,我忘記解釋說我正在使用Express。我對Backbone和客戶端JavaScript有很深的理解。我不確定的是Express路由和Backbone路由可以共存。在Backbone應用程序中,我會編寫它,以便如果訪問者導航到/ foo,則foo路徑將位於我的路由器中,並執行可生成Backbone模型和視圖的函數。但是,在Express應用程序中,Express希望處理此路由並運行它自己的函數(req,res)。這些可以一起工作還是必須選擇一個? – AndrewHenderson

2

一個朋友給我的答案:

骨幹網使用哈希路線。例如http://yoursite.com/#foo

Express將使用傳統http://yoursite.com/foo

您可以使用彼此獨立的基於一個的路由器,其解決您的路徑 - 對客戶端功能的哈希路由和服務器端功能的傳統路線。

兩臺路由器都可以共存。

1

關於Backbone和Express可以如何協同工作的問題無法準確回答,因爲他們可以通過無數的方式協同工作。希望下面的一些信息可以幫助你做你想做的事情。

首先,你可以使用上www.example.com/foo客戶端(骨幹)(無#)路線 - 見Backbone.history.start()文檔pushState選項。可以在客戶端和服務器端集成路由。不過,要確切地找到該怎麼做並不容易。

一些下這些鏈接信息的可以幫助你:

你寫道,你有使用Backbone的經驗,但最近你正在轉移到Node上,所以我認爲你對其他框架是開放的,而不僅僅是Express。你可以考慮使用例如。 restify(除快速通道外)創建一個可與Backbone集成的RESTful服務。

也有整個框架,如DerbyMeteor,它們使用一個代碼庫覆蓋客戶端和服務器端,您可以共享的不僅僅是路由器。

(另外,我剛剛發現了今年(2013年)HTML5DevConf談話:Surviving Robots and Old Browsers by Server-side Backbone我沒有看過它尚未但它似乎你的問題很重要。)

相關問題