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!