2012-02-09 2 views
3

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

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

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

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

+1

Отметьте это сообщение: http://stackoverflow.com/a/12993804/164439 – thaddeusmt

ответ

1

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

Вот пример:

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

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

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

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: конфигурации".

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

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

Update:
Эта функция будет implimented в requirejs 1.1.
https://github.com/jrburke/requirejs/issues/182