我已经构建了几个Backbone应用程序,并欣赏客户端代码结构和组织。我正在使用Express进入Node开发,我不确定Express和Backbone如何在处理路由时协同工作。
答案 0 :(得分:3)
您需要了解Node和Backbone是否相互独立。
您可以在客户端使用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集成。
还有整个框架,如restify或Derby,使用一个代码库覆盖客户端和服务器端,您可以共享的不仅仅是路由器。
(另外,我刚刚发现今年的(2013)HTML5DevConf讲话:Meteor。我还没看过它,但它似乎与你的问题非常相关。)