Backbone.js 和 Nodejs 的一些共同点搞不清楚
前端方面
我用 Backbone.js 做过前端的开发,印象里就是后端按模型对象的属性把 JSON 数据发过来,我写在模板里渲染就好了
- 模板加载( underscore.js )
- 建立模型
- 渲染视图
- 路由,事件等
后端方面
这两天接触 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 就挺没用的了阿?
当然了,我所说的很有可能不对,我就是想知道我哪里理解的有问题。我的问题如下:
- Backbone 配合 Nodejs 的时候 Backbone 里面的 Model 模块和 render 可以直接被 express 里的类似模块替代?
- Backbone 和 Nodejs 合拍吗?哪种情况下适合搭配使用呢?
- Backbone.js 为什么适合单页开发?因为它的路由?
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 框架。
cncncn