【问题标题】:Backbone-relational with Require.js (AMD)与 Require.js (AMD) 的骨干关系
【发布时间】:2012-08-09 00:33:59
【问题描述】:

我正在开发一个相当大的网络应用程序,我将在其中使用 require.js,以便在它准备好投入生产后对其进行编译,但我想使用骨干关系。我也将使用骨干木偶,但我不确定它将如何包含在模块的定义功能中。

有人有这方面的经验吗?

【问题讨论】:

    标签: backbone.js requirejs marionette backbone-relational


    【解决方案1】:

    我正在使用带有 Relational 的 Backbone Marionette,并使用 Require.js 加载它们。基本思想是您需要确保已加载 Relational。一种方法是在定义关系模型时将关系作为一项要求。

    在我的项目中,我创建了一个名为 bbloader.js(Backbone Loader)的简单脚本,用于加载所有相关的主干模型:

    define([
      'backbone',
      'iosync',
      'iobind',
      'relational',
      'marionette',
      'marionette.async'
      ], function(Backbone) {
        return Backbone;
    });
    

    然后在整个项目中,我需要 bbloader 而不是 Backbone。例如:

    define([
      'jquery',
      'underscore',
      'bbloader',
      // ...
    ], function($, _, Backbone) {
      // ...
    });
    

    Backbone Relational 已经与 AMD 兼容,因此您不需要在那里做任何额外的事情。

    【讨论】:

    • 如果骨干关系是 AMD 兼容的,为什么会有 AMD 分支? github.com/dexnode/Backbone-relational
    • 我很好奇你的 require.config 设置是什么样的,特别是你如何填充这些模块。
    【解决方案2】:

    Marionette 100% 支持 AMD。有一些关于启动和运行它的 wiki 页面,而且非常简单:

    https://github.com/derickbailey/backbone.marionette/wiki/Using-marionette-with-requirejs

    我认为 BB-R 也可以,但我不使用这个插件,所以我不能 100% 确定。

    【讨论】:

    • 是的,我已经让木偶很好地工作了。我只是不确定它与骨干关系的工作情况如何。我找不到任何关于让它作为 AMD 模块工作的最新信息,即使我这样做了,我也不能 100% 理解它是如何被包含的(以覆盖默认的主干内容)。感谢您的快速回复!
    • 我明白了。我知道 bb-r 与木偶一起使用,因为我的几个客户正在一起使用它们。但除此之外,我不能说太多关于 bb-r。
    • 骨干关系与 require.js 一起工作。我在上一个项目中使用了它,我没有遇到任何问题。这是如何将关系包装为模块的链接。 AMD BBRelational
    • 你凭什么权威说:“木偶 100% 支持 AMD”?
    猜你喜欢
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 2011-12-02
    相关资源
    最近更新 更多