Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung der Sea.JS-Kenntnisse_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 15:01:53
Original
1230 Leute haben es durchsucht

SeaJS ist ein JavaScript-Modullade-Framework, das der CommonJS-Spezifikation folgt. Es handelt sich um ein modernes Tool zum Laden von Modulen für die Webentwicklung, das ein einfaches und ultimatives modulares Erlebnis bietet. Sea.js wird gemeinsam von Alibaba, Tencent und anderen Unternehmen verwaltet.

Vorteile der Verwendung von Sea.js:

Sea.js verfolgt eine einfache und natürliche Art, Code zu schreiben und zu organisieren und verfügt über die folgenden Kernfunktionen:

Einfache und benutzerfreundliche Moduldefinitionsspezifikation: Sea.js folgt der CMD-Spezifikation und kann Modulcode wie Node.js schreiben.
Natürliche und intuitive Code-Organisation: Das automatische Laden von Abhängigkeiten und die prägnante und klare Konfiguration ermöglichen uns mehr Freude am Programmieren.
Sea.js bietet außerdem häufig verwendete Plug-Ins, die für die Entwicklung, das Debuggen und die Leistungsoptimierung sehr hilfreich sind und über umfangreiche erweiterbare Schnittstellen verfügen.

Das Folgende ist eine Einführung in die drei Modi zum Schreiben von Modulen in sea.js

Exports verwenden ist ein Objekt, das zur Bereitstellung von Modulschnittstellen zur Außenwelt verwendet wird.

define(function (require, exports, module) {
var a = require("./init");
var fun1 = function () {
return a.write("模块main调用模块init的write方法");
};
exports.fun1=fun1;
}); 
Nach dem Login kopieren

Zusätzlich zum Hinzufügen von Mitgliedern zum Exportobjekt können Sie mit return auch direkt Schnittstellen zur Außenwelt bereitstellen.

define(function(require,exports,module){
var a = require("./init");
var fun1 = function () {
return a.write("模块main调用模块init的write方法");
};
return{
fun1:fun1
}
})
Nach dem Login kopieren

Wenn das Modul keine Geschäftslogik hat und nur ein Objekt zurückgibt, kann es wie folgt vereinfacht werden

define({
fun1 : function () {
alert("模块main的fun1调用成功")
}
});
Nach dem Login kopieren

Eine weitere Möglichkeit besteht darin, über module.exports eine einheitliche Schnittstelle zur Außenwelt bereitzustellen. Zum Beispiel:

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
}
});
Nach dem Login kopieren

exports ist nur ein Verweis auf module.exports. Wenn exports innerhalb der Methode neu zugewiesen wird, wird der Wert von module.exports nicht geändert. Daher ist die Zuweisung eines Werts zu Exporten ungültig. Die obige Methode macht nur einen fun1 nach außen sichtbar. Die obige b-Methodenzuweisung ist ungültig und kann nicht zum Ändern der Modulschnittstelle verwendet werden.

exports.async()
require.async(id||[], Rückruf?)

Die Methode require.async wird verwendet, um das Modul asynchron innerhalb des Moduls zu laden und den angegebenen Rückruf auszuführen, nachdem der Ladevorgang abgeschlossen ist. Der Callback-Parameter ist optional.

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模块成功引入")
});
});
Nach dem Login kopieren

Modulmodul ist ein Objekt, das einige Eigenschaften und Methoden speichert, die dem aktuellen Modul zugeordnet sind.

1 module.id String

Die eindeutige Kennung des Moduls.

2 module.uri String

Der absolute Pfad des Moduls, der gemäß den Pfadanalyseregeln des Modulsystems erhalten wird. Unter normalen Umständen (wenn der ID-Parameter in der Definition nicht handgeschrieben ist) ist der Wert von module.id module.uri, und das ist auch der Fall genau das gleiche.

3 module.dependencies Array

dependencies ist ein Array, das die Abhängigkeiten des aktuellen Moduls darstellt.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage