конфиг requirejs с произвольными данными - PullRequest
3 голосов
/ 09 февраля 2012

В веб-приложении Dojo 1.7 AMD вы также можете определить произвольные данные в объекте конфигурации (http://dojotoolkit.org/reference-guide/loader/amd.html).

Объект конфигурации также можно использовать для установки произвольных данных конфигурации для конкретного приложения. Все свойства объекта конфигурации копируются в файл require.rawConfig

Я посмотрел на страницу конфигурации requirejs (http://requirejs.org/docs/api.html#config),, но не нашел подобную функцию здесь. Но я не изучал исходный код.

Есть ли возможность сохранить произвольную информацию в конфигурации requirejs и получить к ней доступ?
Большое спасибо заранее
Wolfgang

1 Ответ

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

Насколько я вижу, это не поддерживается.
Вам нужно вставить 1 строку в исходный код require.js, чтобы получить эту функцию.

Вот пример:

require.config({
  test: "one",
  paths: {
    'jquery': 'libs/jquery/1.7.1/jquery',
...

Наряду с обычными значениями вы храните произвольную информацию.

Затем вы должны открыть исходный код requirejs в текстовом редакторе.
Примерно в строке 380 - 390 (зависит от вашей версии), функция "makeRequire":
Эта функция вызывает другую, называемую "mixin":

 mixin(modRequire, {
            nameToUrl: makeContextModuleFunc(context.nameToUrl, relModuleMap),
            toUrl: makeContextModuleFunc(context.toUrl, relModuleMap),
            defined: makeContextModuleFunc(context.requireDefined, relModuleMap),
            specified: makeContextModuleFunc(context.requireSpecified, relModuleMap),
            isBrowser: req.isBrowser,
            rawConfig: config
        });

После «isBrowser» напишите «rawConfig: config».

Теперь в вашем модуле amd:

define(['require'], function (require){
  alert (require.rawConfig.test);
  ...

Обновление:
Эта функция будет реализована в requirejs 1.1.
https://github.com/jrburke/requirejs/issues/182

...