【发布时间】:2013-03-29 02:39:05
【问题描述】:
据我在互联网上阅读,如果您想同时使用backbone.js 和node.js,通常您使用node.js(express.js 特别是)作为后端API 提供程序(加上其他功能,如持久化等),而backbone.js是前端的引擎,这意味着提供html模板、视图、模型等。
我在 Internet 和 github 上阅读的主干项目通常以 index.html 开头,该 index.html 直接执行一个 javascript 文件,该文件实例化路由、集合、视图等“类”。前端的视图是负责注入html和css模板,并自行管理视图,如事件等。
当我看到一些项目,如主干.iobind (https://github.com/logicalparadox/backbone.iobind) 时,问题就出现了,它使用了一种非常特殊的配置,我真的不明白它是如何工作的。
如果您看到源代码,node.js 服务器不仅负责 API,还负责注入 Backbone 将使用的 html 模板。我有很多疑问:
谁来执行主干前端,因为没有“索引”来执行执行路由器、视图、集合和历史的 javascript?
如何同步 express.js 注入的模板,以及要使用它们的主干.js 端的视图?
backbone.js 路由器类的用途是什么,因为您正在使用 node.js 路由器来注入东西?
为什么你使用这种架构,而不是像我在开始时描述的那样更干净?
非常感谢您的帮助
【问题讨论】:
-
你想使用 Socket.IO 风格与服务器通信吗?如果没有,这个 Backbone.JS 扩展不适合你。此外——它只处理功能的一个子集。您仍然可能需要路由器等。您肯定需要模型和集合。它甚至在他们的样本中:github.com/logicalparadox/backbone.iobind/blob/master/example/…
-
嗨@WiredPrairie,我知道它需要一个骨干路由器,但我不知道为什么,正如我在第三个问题中所描述的那样。我在其他项目中看到了这种模式,比如在@ 987654323@。提前致谢
-
如果您不需要跟踪历史记录和页面导航,则不需要路由器。
-
@WiredPrairie,对不起,如果我打扰你,但是,如果你能帮我解决第 1,2 和 4 个问题,可以吗?我不明白您是如何执行 javascript 主干文件的,因为 node.js 中没有执行此操作的代码行,以及 express inyected 视图如何与每个主干视图同步。非常感谢您。
标签: node.js backbone.js express