Плагин requirejs загружает модуль в новом контексте - PullRequest
0 голосов
/ 10 июня 2011

Я хочу, чтобы модуль загружался несколько раз на странице, с уникальным контекстом для каждого экземпляра.Есть два обычных способа сделать это.

  1. модуль может вернуть конструктор
  2. я могу явно запустить метод require, предоставив идентификатор контекста.

Любой из них будет работать в моей ситуации, но я хочу третий вариант.:)

Я хочу плагин requirejs, который вернет мне модуль в свежем контексте.то есть,

require(["new!some/module"], function(SomeModule) {
    // SomeModule, here, is in its own context.  If i were to run this
    // method call again, SomeModule would be in a new context.
});

Я начал изучать создание плагина для этого ...

load: function (name, req, load, config) {
    var index = get_unique_index();
    req({context:index}, [name], function(value) {
        if(!config.isBuild){
            load(value);
        }
    });
}

, но здесь не работает диктат {context: index} ..мысли?

1 Ответ

1 голос
/ 14 июня 2011

Вместо использования локального req, переданного для загрузки, используйте глобальную функцию require, только что вызванную require (). Локальный, переданный для загрузки, уже связан с контекстом.

...