Ответ 1
Скажем, у нас есть модуль /app/scripts/methodsModule.js, который возвращает несколько методов:
define({
someMethod: function() {
// do stuff
},
anotherMethod: function() {
// do some more stuff
}
});
В нашем основном файле данных /app/scripts/main.js мы имеем:
require(['methodsModule'], function(methods) {
methods.someMethod() // call someMethod
methods.anotherMethod() // call anotherMethod
})
После того, как requireJS загрузит нашу основную информацию, мы можем получить доступ к любым модулям, которые уже были загружены requireJS из командной строки консоли javascript следующим образом:
>> methods = require('methodsModule'); // requireJS has module methodsModule stored
>> methods.someMethod() // call someMethod
>> methods.anotherMethod() // call anotherMethod
Если модуль не был загружен вызовом require() или define(), мы должны передать наш собственный обратный вызов для вызова функции вызова после загрузки модуля:
>> myCB = function(methods) { methods.someMethod() }
>> require(['methodsModule'], myCB)
В противном случае requireJS выдает сообщение о том, что модуль еще не загружен.