我用 Backbone.js 作過前端的開發,印象裏就是後端按模型對象的屬性把 JSON 數據發過來,我寫在模板裏渲染就行了html
這兩天接觸 Nodejs ,本來是想前端用 Backbone 作結構,而後用 Nodejs 做服務器開發(用的 express 框架),鏈接數據庫傳數據給前端,可是在網上查資料的時候發現用 Nodejs 的模板寫前端的話,在渲染的地方好比前端
app.get('/', function (req, res) { res.render('index', { title: 'Hey', message: 'Hello there!'}); });
render 的第二個參數就跟 Backbone 裏模型的屬性感受上很像,用 Mongoose 鏈接 Mongodb 的話也能夠直接加載數據。 那是否是用 Backbone 配合 Nodejs 的時候 Backbone 裏面的 Model 模塊和 render 就不須要使用了?那我感受 Backbone 就挺沒用的了阿?數據庫
固然了,我所說的頗有可能不對,我就是想知道我哪裏理解的有問題。個人問題以下:express
segmentfault:res.render是服務端返回的,Node拿到數據,結合模板引擎(ejs等)渲染好html返回給瀏覽器,剩下的客戶端的交互纔是backbone來處理的,隨後的交互就不是res.render了,而是res.json等直接返回純數據交給Backbone渲染。
v2ex:就把 NodeJS express 看成普通的服務端,和 Python Flask 、 PHP 同樣。你要普通的服務端渲染頁面,就用 express 的模板渲染( res.render );你要用前端框架( Backbone )渲染頁面, express 就只要返回數據,例如 JSON ( res.json )。
另外你的前端構建可讓 NodeJS 作自動化,好比打包、壓縮( minify )等。
Backbone 做爲一款前端 MVC 框架,固然適合單頁開發。相似的還有 Angular 、 React 等 MVVM 框架。