我開始學習Express.js(用於Node.js)和Backbone.js。我已經研究了大量的文檔和教程,但有一些細節我還沒有趕上,沒有相關的信息。我希望有人可以在這裏幫助:如何在express.js(node.js)和backbone.js之間混合視圖(html + css + js)
我最大的問題之一是視圖。我瞭解如何在您的backbone.js app.js中構建MVRC,在Express.js應用程序中使用MVC,如何通過JSON持久化後端(express),使用Socket.io進行實時等。但是, ,你如何設計VIEWS?
這兩個框架都提供了自己的VIEWS,但很明顯,如果您使用的是Backbone.js,那是因爲您希望使用Backbone在客戶端(HTML,CSS,jQuery和JS)上構建VIEW,而不是快遞(翡翠和模板)。如果你使用Express.js是因爲它提供了比Node.js更多的工具,比如認證,會話控制,數據庫等。
你怎麼混在一起的?我已經看到了互聯網上的一些例子喜歡這本書(O'Reilly Media公司):
http://addyosmani.github.com/backbone-fundamentals/
具體而言,在有關「選項7」的TodoList的應用程式,透過GitHub的源代碼。
在這裏,他們混合使用這兩種技術(Backbone.js和Express.js與MongoDB)。他們在客戶端和服務器之間進行數據持久化,連接到Redis等,,但我仍然不明白他們爲什麼在Express.js上使用Jade和/ views作爲主HTML模板,但CSS,jQuery和/ public中的圖像在Backbone .js文件。
難道我們不應該在Backbone.js中完全構建HTML5,CSS3和JS嗎?如果您希望所有MVC位於前端,那麼通過/ ROUTES從後端檢測HTML模板的意義何在?
非常感謝你,希望能得到一個答案:-)
,謝謝你的回答。當我寫「混淆」時,我的意思是我在很多示例中看到了什麼(例如,着名的TodoList使用我以前編寫的socket.io和express.js),即在CSS上編碼CSS和Backbone JavaScript前端和HTML(Jade模板)在後端。我無法找到所有HTML,CSS和jQuery都構建在前端(/ public目錄)上的示例,只是將後端邏輯(持久性,數據庫,會話等)留給Express.js。 – user1106811
Express.js中的模板不在公共目錄中,但在視圖目錄中。原因是因爲它們在服務器上呈現,然後傳遞給客戶端。所以使用框架時幾乎不會看到純粹的html文件。這並不是什麼特別的東西,這是大多數Web框架所做的。 – Pickels