Il existe trois spécifications de modules front-end : CommonJs, AMD et CMD.
CommonJs est utilisé côté serveur, AMD et CMD sont utilisés dans l'environnement du navigateur.
AMD est la sortie standardisée des définitions de modules pendant le processus de promotion de RequireJS.
CMD est le résultat standardisé de la définition du module pendant le processus de promotion de SeaJS.
AMD : Exécution anticipée (chargement asynchrone : les dépendances sont exécutées en premier) + exécution différée
CMD : Exécution différée (exécuter pour charger, exécutée dans l'ordre)
Fonction Écriture
function f1(){ //... } function f2(){ //... }
Un module est un fichier qui implémente une fonction spécifique. Il consiste à mettre plusieurs fonctions dans un seul fichier. .un module. Chargez ce fichier si nécessaire et appelez les fonctions qu'il contient.
Mais cela polluerait la variable globale, il n'y a aucune garantie qu'il n'y aura pas de conflit de nom de la variable avec d'autres modules, et il n'y a aucune relation entre les modules membres.
ObjetÉcriture
var module = { star : 0, f1 : function (){ //... }, f2 : function (){ //... } }; module.f1(); module.star = 1;
Le module est écrit en tant qu'objet et les membres du module sont encapsulés dans l'objet en appelant l'objetattribut<. 🎜>, vous pouvez accéder au module membre. Mais en même temps, les membres du module sont exposés et l'état interne du module peut être modifié par le monde extérieur.
Exécuter la fonction immédiatementvar module = (function(){ var star = 0; var f1 = function (){ console.log('ok'); }; var f2 = function (){ //... }; return { f1:f1, f2:f2 }; })(); module.f1(); //ok console.log(module.star) //undefined
math.js exports.add = function() { var sum = 0, i = 0, args = arguments, l = args.length; while (i < l) { sum += args[i++]; } return sum; }; increment.js var add = require('math').add; exports.increment = function(val) { return add(val, 1); }; index.js var increment = require('increment').increment; var a = increment(1); //2
du module .
Cependant, cela pose de nombreux problèmes du côté du navigateur. Côté navigateur, le moyen le meilleur et le plus simple de charger JavaScript est d'insérer la balise