Backbone.js 主干混合:可重用名称空间

Backbone.js 主干混合:可重用名称空间,backbone.js,mixins,Backbone.js,Mixins,我正试图编写我的第一个mixin,用于不同的主干项目,我只是想知道如何命名它们 简言之,窗口。看起来有点侵入性,我不能在项目下给它们命名,因为项目名称发生了变化,而且我不能提供任何名称空间,因为它们只有在同一个文件中才能工作 所以,简而言之,我应该如何组织/命名我的mixin,以便它们在整个项目中都可以调用 干杯…标准的方法是使用类似的工具将其加载到主干项目中。这种方法不会污染全局名称空间。如果您不想全部使用AMD,那么可以使用Douglas Crockford在《Javascript,好的部分

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

简言之,窗口。看起来有点侵入性,我不能在项目下给它们命名,因为项目名称发生了变化,而且我不能提供任何名称空间,因为它们只有在同一个文件中才能工作

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


干杯…

标准的方法是使用类似的工具将其加载到主干项目中。这种方法不会污染全局名称空间。如果您不想全部使用AMD,那么可以使用Douglas Crockford在《Javascript,好的部分》一书中解释的模块模式。它使用自调用函数来定义模块,并返回公开的对象(或函数)。不过,它确实需要一个全局名称空间。这是一个很好的模式文档。最简单的形式如下所示:

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

    function privateMethod() {
        // ...
    }

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

    return my;
}());

标准的方法是使用类似于的工具将其加载到主干项目中。这种方法不会污染全局名称空间。如果您不想全部使用AMD,那么可以使用Douglas Crockford在《Javascript,好的部分》一书中解释的模块模式。它使用自调用函数来定义模块,并返回公开的对象(或函数)。不过,它确实需要一个全局名称空间。这是一个很好的模式文档。最简单的形式如下所示:

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

    function privateMethod() {
        // ...
    }

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

    return my;
}());

你能详细解释一下你所说的混合是什么意思吗。。你的意思是提供现有主干类的一些子类,还是用其他方法扩展核心主干类?你能详细说明一下你所说的mixin是什么意思吗。。您的意思是提供现有主干类的一些子类,还是用其他方法扩展核心主干类?