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.
define()
), dopóki nie pojawi sięrequire([])
wywołanie, które o to poprosiło, lub coś, co zależy od tego.” github.com/jrburke/requirejs/wiki/…„Zdefiniuj” metodę ułatwiającą definicję modułu i „wymagającą” metodę obsługi ładowania zależności
Zdefiniuj służy do definiowania nazwanych lub nienazwanych modułów na podstawie propozycji przy użyciu następującego podpisu:
Z drugiej strony wymagany jest zwykle używany do ładowania kodu do pliku JavaScript najwyższego poziomu lub w module, jeśli chcesz dynamicznie pobierać zależności
Więcej informacji można znaleźć na stronie https://addyosmani.com/writing-modular-js/ .
źródło
Główne zasady:
Używasz funkcji definiuj, kiedy chcesz zdefiniować moduł, który będzie ponownie używany
Używasz wymaga, aby po prostu załadować zależność
Mam nadzieję, że to ci pomoże.
źródło
Wymagane () i zdefiniowane () oba służą do ładowania zależności. Istnieje duża różnica między tymi dwiema metodami.
To bardzo proste chłopaki
Wymagaj (): Metoda służy do uruchamiania natychmiastowych funkcjonalności. Zdefiniuj (): Metoda służy do definiowania modułów do użycia w wielu lokalizacjach (ponowne użycie).
źródło