Maison > interface Web > js tutoriel > Résumé des connaissances Sea.JS_compétences javascript

Résumé des connaissances Sea.JS_compétences javascript

WBOY
Libérer: 2016-05-16 15:01:53
original
1259 Les gens l'ont consulté

SeaJS est un framework de chargement de modules JavaScript qui suit la spécification CommonJS. Il s'agit d'un outil moderne de chargement de modules pour le développement Web, offrant une expérience modulaire simple et ultime. Sea.js est géré conjointement par Alibaba, Tencent et d'autres sociétés.

Avantages de l'utilisation de Sea.js :

Sea.js poursuit une manière simple et naturelle d'écrire et d'organiser le code et possède les fonctionnalités principales suivantes :

Spécification de définition de module simple et conviviale : Sea.js suit la spécification CMD et peut écrire du code de module comme Node.js.
Organisation naturelle et intuitive du code : chargement automatique des dépendances et configuration concise et claire nous permettent de profiter davantage du codage.
Sea.js fournit également des plug-ins couramment utilisés, qui sont très utiles pour le développement, le débogage et l'optimisation des performances, et disposent d'interfaces extensibles riches.

Ce qui suit est une introduction aux trois modes d'écriture de modules dans sea.js

Utiliser les exportations. Les exportations sont un objet utilisé pour fournir des interfaces de module avec le monde extérieur.

define(function (require, exports, module) {
var a = require("./init");
var fun1 = function () {
return a.write("模块main调用模块init的write方法");
};
exports.fun1=fun1;
}); 
Copier après la connexion

En plus d'ajouter des membres à l'objet exports, vous pouvez également utiliser return pour fournir directement des interfaces avec le monde extérieur.

define(function(require,exports,module){
var a = require("./init");
var fun1 = function () {
return a.write("模块main调用模块init的write方法");
};
return{
fun1:fun1
}
})
Copier après la connexion

Si le module n'a aucune logique métier et renvoie simplement un objet, il peut être simplifié comme suit

define({
fun1 : function () {
alert("模块main的fun1调用成功")
}
});
Copier après la connexion

Une autre option consiste à fournir une interface unifiée avec le monde extérieur via module.exports. Par exemple :

define(function(require,exports,module){
var a = require("./init");// ./是当前目录 ../是上级目录 /是根目录
var fun1 = function () {
return a.write("模块main调用模块init的write方法");
};
exports.b=function(){ //没有任何意义,赋值无效
alert("bb")
};
module.exports={
fun1:fun1
}
});
Copier après la connexion

exports est juste une référence à module.exports. Lorsque les exportations sont réaffectées dans la méthode, la valeur de module.exports ne sera pas modifiée. Par conséquent, l'attribution d'une valeur aux exportations n'est pas valide. La méthode ci-dessus n'expose qu'un seul fun1 à l'extérieur. L'affectation de la méthode b ci-dessus n'est pas valide et ne peut pas être utilisée pour modifier l'interface du module.

exports.async()
require.async(id||[], rappel?)

La méthode require.async est utilisée pour charger le module de manière asynchrone à l'intérieur du module et exécuter le rappel spécifié une fois le chargement terminé. Le paramètre de rappel est facultatif.

define(function(require,exports,module){
require.async('./init',function(a){
a.write("模块main调用模块init的write方法")
});
require.async(['./init',"./search"],function(a,b){
a.write("模块main调用模块init的write方法");
b.search("search模块成功引入")
});
});
Copier après la connexion

Le module Module est un objet qui stocke certaines propriétés et méthodes associées au module actuel.

1 module.id String

L'identifiant unique du module.

2 module.uri String

Le chemin absolu du module obtenu selon les règles d'analyse de chemin du système de modules. Dans des circonstances normales (lorsque le paramètre id n'est pas écrit à la main dans définir), la valeur de module.id est module.uri, et ils le sont. exactement pareil.

3 module.dependencies Array

dependencies est un tableau représentant les dépendances du module actuel.

É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