Backbone Mixins:可重用的命名空间

时间:2012-01-31 18:38:08

标签: backbone.js mixins

我正在尝试编写我的第一个mixin以用于不同的骨干项目,我只是想知道如何命名它们。

总之,窗口。似乎是侵入性的,我无法在项目下命名它们,因为项目名称发生了变化,我不能提供名称空间,因为它们只能在同一个文件中工作。

因此,简而言之,我应该如何组织/命名我的mixins,以便它们可以在整个项目中调用?

干杯...

1 个答案:

答案 0 :(得分:1)

标准方法是define a clean AMD-compliant module,然后使用Require.js之类的工具将其加载到Backbone项目中。此方法不会污染全局命名空间。如果您不想使用所有AMD,可以使用Douglas Crockford的书“Javascript,The Good Parts”中所述的模块模式。它使用自调用函数来定义模块,并返回公开的对象(或函数)。但它确实需要一个全局命名空间。该模式的一个很好的文档是here。最简单的形式看起来像这样:

var MODULE = (function () {
    var my = {},
        privateVariable = 1;

    function privateMethod() {
        // ...
    }

    my.moduleProperty = 1;
    my.moduleMethod = function () {
       // ...
    };

    return my;
}());