Depuis le fichier require.js code source (ligne 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.
*/
El define()
accepte deux paramètres facultatifs (une chaîne de caractères représentant un ID de module et un tableau de modules requis) et un paramètre obligatoire (une méthode d'usine).
Le retour de la méthode de l'usine MUST renvoient l'implémentation de votre module (de la même manière que la fonction Modèle de module fait).
El require()
ne doit pas retourner l'implémentation d'un nouveau module.
Utilisation de define()
vous demandez quelque chose comme "exécuter la fonction que je passe en paramètre et assigner ce qui revient à l'ID que je passe mais, avant, vérifier que ces dépendances sont chargées" .
Utilisation de require()
vous dites quelque chose comme "la fonction que je passe a les dépendances suivantes, vérifiez que ces dépendances sont chargées avant de l'exécuter" .
El require()
est l'endroit où vous utilisez vos modules définis, afin d'être sûr que les modules sont définis, mais vous ne définissez pas de nouveaux modules à cet endroit.