Backbone Mixins: многоразовое пространство имен - PullRequest
1 голос
/ 31 января 2012

Я пытаюсь написать свой первый миксин для использования в различных магистральных проектах, и мне просто интересно, как их именовать.

Короче говоря, окно.кажется навязчивым, я не могу использовать пространство имен в рамках проекта, потому что имя проекта меняется, и я не могу предложить пространство имен, потому что они работают только в том же файле.

Итак, вкратце, как следуетЯ организовываю / присваиваю пространство имен моим миксинам, чтобы они могли вызываться на протяжении всего проекта?

Приветствия ...

1 Ответ

1 голос
/ 14 февраля 2012

Стандартным способом было бы определить чистый AMD-совместимый модуль и затем загрузить его в свои проекты Backbone с помощью инструмента, подобного Require.js . Этот подход не загрязняет глобальное пространство имен. Если вы не хотите использовать все возможности AMD, вы можете использовать шаблон модуля, как описано в книге Дугласа Крокфорда «Javascript, The Good Parts». Он использует функцию, вызываемую самостоятельно, чтобы определить ваш модуль, и возвращает экспонированный объект (или функцию). Однако для этого требуется глобальное пространство имен. Хорошая документация шаблона здесь . В простейшем виде это выглядит так:

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

    function privateMethod() {
        // ...
    }

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

    return my;
}());
...