Показать сообщение отдельно
  #35 (permalink)  
Старый 08.05.2012, 21:17
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Развил сабж: http://pastebin.com/zWUcBare
Теперь можно запрашивать модули кучей:
require(['m1', 'm2']);
Если не использовать коллбек, то объекты просто конкатенируются. Например:
// m1
this.method1 = function(){};
this.method2 = function(){};

// m2
this.method3 = function(){};
this.method4 = function(){};


require(['m1', 'm2']);
Возвращает объект с этими четырьмя методами.
Если использовать коллбек, то в него передаются модули в том же порядке, что и массив скриптов:
require(['m1', 'm2'], function( m1, m2 ){ ... });

Добавил пару настроек:
require.PATH = '/'; // папка, в которой лежат модули, например, /js/modules
require.POSTFIX = ''; // постфикс (ко) адреса скрипта, например, '.js' или '.module.js'
require.CONCAT_ALL = false; // в коллбек передаётся один аргумент: объект со всеми модулями сразу
// например
require(['m1', 'm2'], function( all ){ 
 // all == {method1: ...,method2: ...,method3: ...,method4: ... }
 });
В будущем все-таки добавлю кеширование и запросы к модулям на другом домене (cors)
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием