Maison  >  Article  >  interface Web  >  Analyse des exemples de traitement de chargement de dépendances de module dans Seajs

Analyse des exemples de traitement de chargement de dépendances de module dans Seajs

小云云
小云云original
2018-01-26 10:47:391222parcourir

Cet article présente principalement le traitement de chargement des dépendances du module dans seajs, et analyse les principes, les précautions associées et l'utilisation des dépendances du module seajs et le chargement sous forme d'exemples. Les amis qui en ont besoin pourront s'y référer. aider tout le monde.

Récemment, alors que je travaillais sur un projet, j'ai découvert quelques problèmes de dépendance de module, qui sont enregistrés ci-dessous :

Par exemple, il y a actuellement 3 fichiers :

/*init.js*/
define(function(require, exports, module){
 require('jquery');
 require('jquery.plugA');
})
/*jquery.plugA.js*/
define(function(require, exports, module){
 require('jquery');
 require('jquery.plugB');
 //code...
})
/*jquery.plugB.js*/
define(functioin(require, exports, module){
 require('jquery');
 //code...
})

Par exemple, l'exécution de init.js When, init.js, jquery.plugA.js, jquery.plugB.js dépendent tous de jquery, alors comment seajs gère-t-il jquery dans ce cas ? Exécuté une seule fois ? Exécuter plusieurs fois ? Ou d'une autre manière ?

Reportez-vous à la réponse de Yubo ici :

Ma compréhension de l'appel de module est que l'appel fait référence à l'obtention de l'interface d'un certain module. Dans SeaJS, seuls seajs.use, require.async et require généreront des appels de module, par exemple : var a = require('./a') Lors de l'exécution de require('./a'), l'interface du module sera obtenue , s'il est appelé pour la première fois, le module a sera initialisé, et lors d'un appel ultérieur, l'interface du module a sera renvoyée directement ; ) enregistre un module dans seajs Dans .cache, la définition est similaire : seajs.cache[id] = { id : id, dependencies : deps, factory : factory }

est une pure information d'enregistrement.

Seajs.cache['a'].factory ne sera exécuté que lorsque require('./a') est exécuté. Après exécution, seajs.cache['a'].exports

sera obtenu. Recommandations associées :


Explication détaillée des règles d'analyse des modules dans seajs et résumé de l'utilisation du module_Seajs

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