Backbone和Express路由器可以在Express应用中一起工作吗?
我已经构build了几个Backbone应用程序,并赞赏客户端代码结构和组织。 我正在使用Express来进入Node开发,我不确定Express和Backbone如何在处理路由时一起工作。
您需要了解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/
一位朋友给了我答案:
骨干使用散列路由。 例如http://yoursite.com/#foo
Express将使用传统的http://yoursite.com/foo
您可以使用彼此独立的路由器,这些路由器是您寻址path的路由器 – 客户端function的散列路由和服务器端function的传统路由。
两台路由器都可以共存。
您关于Backbone和Express如何协同工作的问题无法准确回答,因为他们可以通过无数的方式协同工作。 希望下面的一些信息可以帮助你做你想做的事情。
首先,您可以在客户端(Backbone)上使用www.example.com/foo(no#)路由 – 请参阅Backbone.history.start()文档中的pushState
选项。 可以在客户端和服务器端集成路由。 不过,要find如何去做并不容易。
这些链接下的一些信息可以帮助您:
- https://github.com/developmentseed/bones
- https://github.com/SC5/backbone-serverside
- https://github.com/tysoncadenhead/backbone-on-express
- http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product
- http://blog.andyet.com/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/
你写道,你已经有了Backbone的经验,但是你最近正在转移到Node上,所以我认为你对其他框架是开放的,而不仅仅是Express。 你可以考虑使用例如。 除了Express外,还可以重新定义一个可以与Backbone集成的RESTful服务。
还有像Derby或Meteor这样的整个框架,使用一个代码库覆盖客户端和服务器端,您可以共享的不仅仅是路由器。
(另外,我刚刚发现今年的(2013)HTML5DevConf谈话: 通过服务器端骨干幸存的机器人和旧浏览器 。我还没有看到它,但它似乎与您的问题非常相关。
- Backbone.js,mongodb和获取相关对象 – 客户端或服务器端?
- HTTP响应头中'Allow'和'Access-Control-Allow-Methods'之间的区别?
- 骨干路由器:摆脱URL中的#
- 从服务器端代码获取会话信息到客户端代码
- AJAX图像上传与backbone.js node.js和express
- 在node.js服务器上重新使用骨干路由,模型和视图
- 哪个数据库适合我的应用程序mysql或mongodb? 使用Node.js,Backbone,Now.js
- 使用Browserify进行多种构buildconfiguration的复杂骨干应用程序
- 没有客户端JavaScript的Backbone.js