Maison  >  Article  >  interface Web  >  Exemples détaillés de CommonJS

Exemples détaillés de CommonJS

零下一度
零下一度original
2017-07-21 09:16:361967parcourir

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数组,表明该模块的依赖性
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();
    };
  • 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!

Déclaration:
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