对BackboneJS和ExpressJS感到困惑

时间:2011-08-04 15:10:51

标签: javascript node.js backbone.js

我想创建一个NodeJS应用程序,我正在学习更多关于需要安装的软件包以使开发更容易。两个包,特别是ExpressJS和BackboneJS,令我困惑。两者有什么区别? Backbone提供了MVC结构,但ExpressJS也没有处理视图和控制器吗?我应该如何将这两个包相互结合使用,还是应该将它们相互结合使用?

谢谢!

5 个答案:

答案 0 :(得分:60)

Backbone是一个前端框架。 Express是一个后端框架。

为了进一步说明,你可以基本上运行Backbone.js而不支持后端 - 只需HTML,CSS和JavaScript,并通过哈希标签更改加载HTML模板并通过cookie加载和保存数据进行“页面切换”或localStorage - 但最终您的应用需要与后端服务进行通信,以便对用户进行身份验证或从数据库中保存/恢复数据等。这就是您希望Express / node.js进入的地方。

你也可以在没有Backbone和Express(或其他后端语言/框架)的情况下完成所有这些工作,但是然后你的所有页面都是对服务器的单独请求(除非你在前端设置自定义的东西)。 Backbone,ajaxes全部出来并允许你事先创建模板,所以你需要从后端请求的只是普通的数据对象,而你基本上只需要加载一个页面。

这是过于简单化,但基本上就是它。

答案 1 :(得分:11)

如果你已经习惯了服务器端的MVC开发,比如ASP.NET MVC,Rails,Sinatra,Django等,使用Express会很直观。

Backbone不包括视图引擎,渲染部分的约定等等。它还包括客户端浏览器历史记录支持等功能,这些功能在服务器端没有多大意义。虽然您可以在服务器端使用Node技术上使用它,但Backbone的目标是在客户端构建单页面界面应用程序。

答案 2 :(得分:11)

Backbone通常用于客户端(浏览器),Express用于服务器端(NodeJS)。

当在服务器上使用Backbone时,它主要用于模型,因为Express不提供任何这些。

答案 3 :(得分:6)

Backbone是一个前端框架。否则express是基于node.js的后端框架。

常见的设置表现为rest api服务器和骨干作为前端框架。

答案 4 :(得分:0)

Backbone.js,Angular.js和Ember.js =>客户端JavaScript框架,意味着它们提供了构建Web应用程序客户端的构件。 Node.js是同一种,并基于V8 Chrome引擎构建。

Express是在Node.js之上构建的框架,可简化我们的服务器端开发