загружать модули, используя имя модуля, а не имя файла - PullRequest
0 голосов
/ 15 апреля 2011

У меня есть два 'define' в двух отдельных файлах js.

def1.js и def2.js

define("mydefname1",["file1",...]});

define("mydefname2",["file2",....]});

У меня есть еще одно требование require, где я проверяю, являются ли два определениязагружен.

require(['def1','def2'], function(){alert('loaded')});

это отлично работает ..

но если я попробую

require(['mydefname1','mydefname2'], function(){alert('loaded')});, 

, это не сработает.

Есть ли способЯ мог бы на самом деле использовать mydefname1 и mydefname2 .. т.е. имя модуля для их загрузки, а не имя файла?

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

Насколько я понимаю, RequireJS рекомендует избегать ручного назначения имен модулей - см. Здесь: http://requirejs.org/docs/api.html#modulename

FWIW, вы поиграли с опцией конфигурации "path"? Я не думаю, что вы можете использовать его, чтобы делать именно то, что вы хотите сделать, но он может предложить приемлемый альтернативный подход. Смотрите здесь: http://requirejs.org/docs/api.html#config

Надеюсь, это поможет!

0 голосов
/ 15 апреля 2011

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

Для имени метакласса Overlay имя файла будет class.Overlay.js и мой require / includeфункции будут брать имя моего модуля и строить имя файла из него.

...