Z kodu źródłowego wymagania.js (wiersz 1902):
/**
* The function that handles definitions of modules. Differs from
* require() in that a string for the module should be the first argument,
* and the function to execute after dependencies are loaded should
* return a value to define the module corresponding to the first argument's
* name.
*/
define()
Funkcja przyjmuje dwa opcjonalne parametry (ciąg reprezentować identyfikator modułu i tablicę wymaganych modułów) i wymagany jeden parametr (metoda fabryczne).
Zwrócenie metody fabrycznej MUSI zwrócić implementację modułu (w taki sam sposób, jak robi to wzorzec modułu ).
require()
Funkcja nie ma powrotu wdrożenie nowego modułu.
Za pomocą define()
tego pytasz: „uruchom funkcję, którą przekazuję, jako parametr i przypisz wszelkie zwracane identyfikatory, które przekazuję, ale wcześniej sprawdź, czy te zależności są załadowane” .
Używając require()
mówisz coś w stylu „funkcja, którą przekazuję, ma następujące zależności, sprawdź, czy te zależności są ładowane przed uruchomieniem” .
require()
Funkcja jest gdzie wykorzystać swoje określone moduły, aby mieć pewność, że moduły są zdefiniowane, ale nie definiują nowe moduły tam.