Backbone和Express路由器可以在Express应用程序中协同工作吗?

时间:2012-12-17 09:17:55

标签: javascript node.js backbone.js express

我已经构建了几个Backbone应用程序,并欣赏客户端代码结构和组织。我正在使用Express进入Node开发,我不确定Express和Backbone如何在处理路由时协同工作。

3 个答案:

答案 0 :(得分:3)

您需要了解Node和Backbone是否相互独立。

  • 节点适用于服务器端(例如使用数据库,api服务等)。
  • Backbone 是一个客户端Javascript MVC框架,它为您提供了一个用于组织客户端Javascript应用程序的结构。 (浏览器中的应用程序)

您可以在客户端使用Backbone应用程序,它可以连接任何后端Node,Rails,PHP等......

有关更多信息,请检查客户端的MVVM模式和Javascript框架。

http://backbonetutorials.com/why-would-you-use-backbone/

http://addyosmani.com/blog/understanding-mvvm-a-guide-for-javascript-developers/

答案 1 :(得分:2)

一位朋友给了我答案:

Backbone使用哈希路由。例如http://yoursite.com/#foo

Express将使用传统的http://yoursite.com/foo

您可以使用基于路径的路由器相互独立的路由器 - 客户端功能的哈希路由和服务器端功能的传统路由。

两台路由器都可以共存。

答案 2 :(得分:1)

关于Backbone和Express如何协同工作的问题无法准确回答,因为他们可以通过无数种方式协同工作。希望下面的一些信息可以帮助您做您想做的事。

首先,您可以在客户端使用www.example.com/foo(no#)路由(Backbone) - 请参阅{{3}中的pushState选项文档。可以在客户端和服务器端集成路由。但是,要找到确切的方法并不容易。

这些链接下的部分信息可能会对您有所帮助:

您写道,您有使用Backbone的经验,但您最近转移到Node,所以我假设您对其他框架不仅仅是Express。你可以考虑使用eg。 http://blog.andyet.com/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/(除Express之外)制作RESTful服务,您可以将其与Backbone集成。

还有整个框架,如restifyDerby,使用一个代码库覆盖客户端和服务器端,您可以共享的不仅仅是路由器。

(另外,我刚刚发现今年的(2013)HTML5DevConf讲话:Meteor。我还没看过它,但它似乎与你的问题非常相关。)