Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Verwendung des Knotenmodulmoduls

Detaillierte Erläuterung der Verwendung des Knotenmodulmoduls

php中世界最好的语言
php中世界最好的语言Original
2018-05-08 15:40:091755Durchsuche

Dieses Mal werde ich Ihnen die Vorsichtsmaßnahmen bei der Verwendung des Node-Moduls ausführlich erläutern. Das Folgende ist ein praktischer Fall, schauen wir uns das an.

Bei der Entwicklung komplexer Webanwendungen ist es normalerweise erforderlich, jede Funktion aufzuteilen und in verschiedene Dateien zu kapseln und bei Bedarf auf die Datei zu verweisen, d. Fast alle

Programmiersprachen verfügen über eigene Methoden zur Modulorganisation, wie etwa Pakete in Java und Assemblys in C#, während Node die CommonJS-Modulspezifikation übernimmt.

Modulspezifikation

CommonJS zielt darauf ab, JS zu standardisieren, das außerhalb des Browsers ausgeführt wird, und hat eine große Anzahl von JS-Problemen gelöst (z. B. globale Benennung). Konflikte). In der CommonJS-Implementierung von Node wird jedes Modul in einer separaten JS-Datei gekapselt, d. h. eine Datei ist ein Modul und der Dateipfad ist der Modulname. Beim Schreiben jedes Moduls stehen die folgenden drei vordefinierten Variablen zur Verfügung:

require

() Diese Funktion wird zum Laden und Verwenden anderer Module verwendet das aktuelle Modul, übergibt einen Modulnamen und gibt ein Modulexportobjekt zurück. Der Modulname kann einen relativen Pfad (beginnend mit ./) oder einen absoluten Pfad (beginnend mit / oder einem Laufwerksbuchstaben wie C:) verwenden. Außerdem kann die Erweiterung .js im Modulnamen weggelassen werden. Zu diesem Zeitpunkt sucht Node nach einem Ordner mit demselben Namen. Wenn er nicht gefunden wird, sucht er nach einer JS-Datei mit demselben Namen. Sie können diese Funktion auch zum Laden und Verwenden einer JSON-Datei verwenden, die Erweiterung .json darf jedoch nicht weggelassen werden.

Exporte

Dieses Objekt ist das Exportobjekt des aktuellen Moduls und wird zum Exportieren der öffentlichen Methoden und Eigenschaften des Moduls verwendet. Standardmäßig ist es ein leeres Objekt {}. Wenn andere Module das aktuelle Modul über die Funktion require() verwenden, erhalten sie das Exportobjekt des aktuellen Moduls. Eine öffentliche Methode wird im folgenden Code exportiert:

exports.hello = function() {
  console.log("Hello World!");
};

module

Dieses Objekt wird verwendet, um Metadaten und andere verwandte Informationen des aktuellen Moduls bereitzustellen, ist jedoch am nützlichsten Die Sache ist, es zu verwenden. Das Exportattribut ersetzt das Exportobjekt des aktuellen Moduls. Beispielsweise ist das Exportobjekt des Moduls standardmäßig ein normales Objekt. Sie können es mit der folgenden Methode in eine Funktion umwandeln:

module.exports = function() {
  console.log("Hello World!");
};
Hinweis: Bei Verwendung der oben genannten Methode werden alle Änderungen am Exportobjekt vorgenommen ignoriert!

Modulinitialisierung

Der JS-Code in einem Modul wird nur einmal ausgeführt, wenn das Modul zum ersten Mal verwendet wird, und wird dabei initialisiert Ausführung Das exportierte Objekt des Moduls. Später wird das zwischengespeicherte Exportobjekt wiederverwendet.

Definieren Sie ein Modul in test.js

//定义私有变量
var name = "";
function setName(n) {
  name = n;
}
function logName() {
  console.log(name);
}
//导出公有方法
exports.setName = setName;
exports.logName = logName;
Laden Sie das Testmodul in main

//加载test模块
var test1 = require("./test.js"),
  test2 = require("./test.js");
//使用test1
test1.setName("Neo");
//使用test2
test2.logName(); //Neo
Sichtbar, egal wie oft require() aufgerufen wird, das gleiche Modul ist Nur einmal geladen. Die mehrmals erhaltene Referenz ist tatsächlich dieselbe Instanz.

Hauptmodul

Das Modul, das über Befehlszeilenparameter zum Starten des Programms an Node übergeben wird, wird als Hauptmodul bezeichnet. Das Hauptmodul ist verantwortlich für die Planung und Erstellung der gesamten Anwendung. Andere Module des Programms arbeiten zusammen. Wenn Sie das Programm beispielsweise über die folgende Befehlszeile starten, ist main.js das Hauptmodul:

$ node main.js

Binary module

Node can Das Schreiben von Modulen unterstützt zusätzlich zu JS auch das Schreiben von Binärmodulen in C/C++. Die kompilierten Binärmodule können auf die gleiche Weise wie JS-Module verwendet werden, mit der Ausnahme, dass die Dateierweiterung .node ist. Obwohl Binärmodule alle vom Betriebssystem bereitgestellten Funktionen nutzen können, ist ihre plattformübergreifende Nutzung schwierig.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JS-Deduplizierung und Optimierung numerischer Arrays


Detaillierte Erläuterung der Schritte zur globalen Einführung von Bass. scss in Vue

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung des Knotenmodulmoduls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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