困惑于BackboneJS和ExpressJS

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

谢谢!

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

为了进一步阐明,你可以基本上运行Backbone.js而不需要后端支持 – 只需要HTML,CSS和JavaScript,并且通过哈希标记的变化加载HTML模板并通过cookies或者localStorage加载和保存数据来实现“页面切换”但最终你的应用程序需要与后端服务进行通信来validation用户身份或从数据库中保存/恢复数据等。这就是你希望Express / node.js进入的地方。

你也可以做所有这些没有Backbone的东西,只是Express(或者其他的后端语言/框架),但是你的所有页面都是对服务器的独立请求(除非你在前端设置了一些自定义的东西)。 骨干,ajaxes全部出来,让你事先创build模板,所以你需要从后端请求是纯数据对象,你基本上只需要加载一个页面。

这是一个过分简化,但实质上是这样。

如果你习惯于服务器端的MVC开发,比如ASP.NET MVC,Rails,Sinatra,Django等,使用Express将是直观的。

骨干停止包括一个视图引擎,渲染部分的惯例,以及那种事情。 它还包括客户端浏览器历史logging支持等function,在服务器端没有多less意义。 虽然您可以在服务器端使用Node技术,但Backbone目标是在客户端构build单页面界面应用程序。

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

当在服务器上使用Backbone时,主要是为了模型,因为Express没有提供这些。

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

一个常见的设置是作为前端框架来表示为rest api服务器和主干。