że mamy /app/scripts/methodsModule.js moduł, który zwraca się kilka metod:
define({
someMethod: function() {
// do stuff
},
anotherMethod: function() {
// do some more stuff
}
});
w naszym /app/scripts/main.js plik danych-main mamy:
require(['methodsModule'], function(methods) {
methods.someMethod() // call someMethod
methods.anotherMethod() // call anotherMethod
})
po requireJS ładuje nasze dane Menem, możemy uzyskać dostęp do dodatkowych modułów, które zostały już załadowane przez requireJS z javascript wierszu poleceń konsoli tak:
>> methods = require('methodsModule'); // requireJS has module methodsModule stored
>> methods.someMethod() // call someMethod
>> methods.anotherMethod() // call anotherMethod
Jeśli moduł nie został załadowany przez wywołanie require() lub define(), musimy zdać własne zwrotnego dla funkcji wymaga, aby zadzwonić po moduł został załadowany:
>> myCB = function(methods) { methods.someMethod() }
>> require(['methodsModule'], myCB)
Inaczej , requireJS zgłasza błąd z informacją, że moduł nie został jeszcze załadowany.
czy to działa ze skryptami wymagającymi "zoptymalizowania" JS? Może robię coś złego tutaj, ale to nie działa dla mnie. – Stephen
nadal aktualne na dzień 20.05.2015. Przekształcając "prymitywny" projekt na AMD, musiałem upewnić się, że wszystko działa. Jednak nie udało mi się zlokalizować miejsca, w którym powrócił obiekt modułu po wykonaniu polecenia define. Świetne wyjaśnienie. –