Maison > interface Web > js tutoriel > Exemples détaillés de CommonJS

Exemples détaillés de CommonJS

零下一度
Libérer: 2017-07-21 09:16:36
original
1980 Les gens l'ont consulté

1. CommonJS

  • est utilisé pour la programmation modulaire côté serveur. Par exemple, nodejs adopte cette spécification

  • Un fichier est. un module , la méthode require est utilisée pour charger des modules. Cette méthode lit un fichier et l'exécute, et renvoie enfin l'objet module.exports à l'intérieur du fichier

  • require lit les fichiers .js ; par défaut, require (nom du module) n'a pas besoin d'être écrit avec un suffixe

  • est chargé de manière synchrone Puisque les modules chargés côté serveur sont généralement locaux, c'est OK. ; mais côté client, si un module est trop volumineux, cela entraînera une "fausse mort" de la page

  • L'attribut module.exports représente l'interface de sortie externe du ; module actuel. Lorsque d'autres fichiers chargent le module, ils lisent en fait la variable module.exports ; pour plus de commodité, vous pouvez utiliser exports, exports pointe vers module.exports ; c'est-à-dire exports = module.exports = {}

  • exports.xxx équivaut à ajouter des attributs à l'objet exporté, qui sont visibles par le module appelant ;

  • exports = équivaut à réaffecter les exports, ce qui réduit hors de l'association avec module.exports, et le module appelant ne peut pas accéder aux objets et propriétés des exportations

2 AMD

  • Charger le module ; : require([module], function(module){});

  • Définir le module : définir([module], function(module){});

  • require.js (une bibliothèque d'outils pour la gestion modulaire frontale) implémente les fichiers js. Le chargement asynchrone empêche les pages Web de perdre la réponse ; la gestion des dépendances entre les modules facilite l'écriture et la maintenance du code.

  • Pré-positionnement des dépendances, exécutez les blocs de dépendances du module le plus tôt possible, l'ordre d'exécution n'est pas nécessairement 1 d'abord puis 2

  • Charger les modules non standards

    require.config({
        baseUrl: "js/lib",
        paths: {"jquery": "jquery.min",
        "underscore": "underscore.min",
        "backbone": "backbone.min"  },
        shim: {'underscore':{
                exports: '_'   },
       'backbone': {
        deps: ['underscore', 'jquery'],
        exports: 'Backbone'   }
     }
    });
    // exports值(输出的变量名),表明这个模块外部调用时的名称;deps数组,表明该模块的依赖性
    Copier après la connexion
3. >Sea.js

  • La dépendance est à proximité, et le module dépendant n'est exécuté que lorsqu'il est vraiment nécessaire, et l'ordre est corrigé
    define(function(require, exports, module){
        var a = require('a');
        a.foo();
    };
    Copier après la connexion
  • La plus grande différence entre AMD et CMD est la dépendance. Le moment d'exécution du module est différent, pas le moment ou la méthode de chargement. Les deux modules chargent de manière asynchrone

  • front-end de dépendance AMD ; , js peut facilement savoir qui est le module dépendant. Chargez-le immédiatement ; alors que CMD s'appuie sur des dépendances proches, vous devez utiliser le module pour le convertir en chaîne et l'analyser pour savoir quels modules sont dépendants

  • .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal