前端方面

我用 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 框架。

Backbone.js 和 Nodejs 的一些共同点搞不清楚的更多相关文章

  1. AngularJS 、Backbone.js 和 Ember.js 的比较

    1 介绍 我们准备在这篇文章中比较三款流行于Web的“模型-视图-*”框架:AngularJS.Backbone和Ember.为你的项目选择正确的框架能够对你及时交付项目的能力和在以后维护你自己代码的 ...

  2. MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录

    注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...

  3. 我对Backbone.js的一些认识

    backbone.js已经不是当前最流行的前端框架了,但是对于我而言,依然具有比较好的学习价值.虽然目前来说,react,vue等mvvm框架非常火热,但是感觉自身还不到去使用这种框架的层次.这些技术 ...

  4. 比較Backbone.js, Angular.js, Ember.js, Knockout.js 心得

    還記得第一次寫網站的時候,我無意間寫成了 SPA(single page application),當時還沒有SPA這個詞,後來因為廣告主需要不同 url location 頁面的廣告展示,只好把部分 ...

  5. Backbone.js的技巧和模式

    Backbone.js的技巧和模式 Backbone.js的技巧和模式   本文由白牙根据Phillip Whisenhunt的<Backbone.js Tips And Patterns> ...

  6. Backbone.js 1.0.0源码架构分析(一)

    Backbone.js 是javascript 语言中 首个实现MVC设计模式的类库,API接口方法重度依赖于underscore.js,DOM选择器则依赖于jQuery.js或者zepto.js. ...

  7. Backbone.js应用基础

    前言: Backbone.js是一款JavaScript MVC应用框架,强制依赖于一个实用型js库underscore.js,非强制依赖于jquery:其主要组件有模型,视图,集合,路由:与后台的交 ...

  8. Backbone.js学习之Backbone.View(视图)

    Backbone.js为复杂WEB应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和自定义事件:集合附有可枚举函数的丰富API: 视 ...

  9. 前端mvc框架backbone.js入门[转]

    原文地址:http://www.cnblogs.com/zhjh256/p/6083618.html 关于backbone.js的优缺点,这里就不详谈了,网上关于这方面的讨论很多了,而且各种框架之所以 ...

随机推荐

  1. win7 64位系统,vs2010下配置OpenGL开发环境

    glut下载地址: http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 或者:http://user.xmission. ...

  2. 【Android 应用开发】对Android体系结构的理解--后续会补充

    1.最底层_硬件 任何Android设备最底层的硬件包括 显示屏, wifi ,存储设备 等. Android最底层的硬件会根据需要进行裁剪,选择自己需要的硬件. 2.Linux内核层 该层主要对硬件 ...

  3. mybatis 开发环境搭建

    不说废话直接上代码,首先看下我的目录机构: 红色部分,表明你所需的jar包,已经配置文件. 创建用户表,以及插入数据. create table books(id int (11) not null ...

  4. 杭电ACM 1003题

    一天AC一道题,思维跟上时代步伐.... import java.util.Scanner; public class Main { public static void main(String[] ...

  5. FCL源码中数组类型的学习及排序函数Sort函数的分析

    Array 是所有数组的基类ArrayList 解决了所有Array 类的缺点    能动态扩容, 但是类型不安全的,而是会有装箱与拆箱的性能开销List<T> 则是解决了ArrayLis ...

  6. js中用var与不用var的区别

    var num = 1: 是在当前域中声明变量. 如果在方法中声明,则为局部变量(local variable):如果是在全局域中声明,则为全局变量. 而 num = 1: 事实上是对属性赋值操作.

  7. 大数据技术生态圈形象比喻(Hadoop、Hive、Spark 关系)

    [摘要] 知乎上一篇很不错的科普文章,介绍大数据技术生态圈(Hadoop.Hive.Spark )的关系. 链接地址:https://www.zhihu.com/question/27974418 [ ...

  8. python---数据类型---列表

    #列表: name = ["lc","pxm","pt"] print('------------',name[2],"----- ...

  9. iOS9自动布局神器StackView

    http://www.jianshu.com/p/767f72b7d754 这篇文章紧跟上边autolayout的一些小技巧,如果你没有看过,不防先看下<你真的会用autolayout吗?> ...

  10. BugFix:URL or HTTP headers are too long (IP=127.0.0.1)

    错误提示: URL or HTTP headers are too long (IP=127.0.0.1) com.caucho.server.dispatch.BadRequestException ...