有没有理由不在node.js后端使用Backbone.Model?

时间:2012-10-03 11:53:20

标签: node.js backbone.js

我在想......当我使用Backbone.js对网络应用进行编码时,大多数时候我会复制模型:使用ORM {{1}语言X后端的一个版本},一个用于使用Backbone的前端。很多共同的验证,生成网址等同样的sh * t ......我刚开始使用Y,我认为既然你可以在后端和前端运行很多相同的代码,为什么呢?不使用Backbone.js模型作为后端,以便减少代码重复?我找不到关于那个...任何指针的信息?这是一个坏主意,为什么?我只能猜测,在这种情况下,您必须为数据库持久性编写Node.js

修改

实现这一目标需要解决的实际问题:

  1. Backbone.sync使用mongodb(或使用的数据库)。
  2. 使用node.js文件构建客户端javascript文件,可能的解决方案:browserify

2 个答案:

答案 0 :(得分:1)

在尝试用Backbone构建后端一段时间后,我发现它总是过度杀伤,并带来了比简化更多的问题。相反,我回过头来使用mongodb周围的简单包装器。

我最初使用Backbone的想法是在后端和前端之间共享url生成和模型验证。但事实上你并不需要Backbone。 所以我为验证和url生成编写了可重用的函数,并使用browserify使它们在客户端可用。

当然,如果有更多的人构建运行Backbone后端端的工具,未来可能会发生变化......但在撰写本文时,Backbone绝对不是为此而做的,并且没有库帮助适应它。

答案 1 :(得分:0)

有点过时,但有趣的是:Re-using Backbone.js Models on the server with Node.js and Socket.io to build real-time apps

在node.js上使用Backbone时,通过持久化到couchDB来替换默认Backbone.sync的库:node-backbone-couch