Aus dem Quellcode require.js (Zeile 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.
*/
Das define()
Funktion akzeptiert zwei optionale Parameter (eine Zeichenfolge, die eine Modul-ID und ein Array erforderlicher Module darstellt) und einen erforderlichen Parameter (eine Factory-Methode).
Die Rückgabe der Factory-Methode MUSS die Implementierung für Ihr Modul zurückgeben (auf die gleiche Weise wie das Modulmuster ).
Die require()
Funktion muss die Implementierung eines neuen Moduls nicht zurückgeben.
Wenn define()
Sie verwenden, fragen Sie etwas wie "Führen Sie die Funktion aus, die ich als Parameter übergebe, und weisen Sie der übergebenen ID alle Rückgaben zu, überprüfen Sie jedoch zuvor, ob diese Abhängigkeiten geladen sind" .
Wenn require()
Sie etwas sagen wie "Die Funktion, die ich übergebe, hat die folgenden Abhängigkeiten, überprüfen Sie, ob diese Abhängigkeiten geladen sind, bevor Sie sie ausführen" .
In dieser require()
Funktion verwenden Sie Ihre definierten Module, um sicherzustellen, dass die Module definiert sind, aber Sie definieren dort keine neuen Module.
define()
) erst aus, wenn einrequire([])
Aufruf danach gefragt wurde oder etwas, das davon abhängt." github.com/jrburke/requirejs/wiki/…"define" -Methode zur Erleichterung der Moduldefinition und "require" -Methode zur Behandlung des Abhängigkeitsladens
Mit define werden benannte oder unbenannte Module basierend auf dem Vorschlag mit der folgenden Signatur definiert:
require wird normalerweise zum Laden von Code in eine JavaScript-Datei der obersten Ebene oder in ein Modul verwendet, wenn Sie Abhängigkeiten dynamisch abrufen möchten
Weitere Informationen finden Sie unter https://addyosmani.com/writing-modular-js/ .
quelle
Allgemeine Regeln:
Sie verwenden define, wenn Sie ein Modul definieren möchten, das wiederverwendet wird
Sie verwenden require, um einfach eine Abhängigkeit zu laden
Hoffe das hilft dir.
quelle
require () und define () werden beide zum Laden von Abhängigkeiten verwendet. Es gibt einen großen Unterschied zwischen diesen beiden Methoden.
Es sind sehr einfache Leute
Require (): Die Methode wird verwendet, um sofortige Funktionen auszuführen. define (): Mit dieser Methode werden Module für die Verwendung an mehreren Standorten definiert (Wiederverwendung).
quelle