Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Verwendung des Knotenmodulmoduls
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 alleProgrammiersprachen verfügen über eigene Methoden zur Modulorganisation, wie etwa Pakete in Java und Assemblys in C#, während Node die CommonJS-Modulspezifikation übernimmt.
ModulspezifikationCommonJS 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(); //NeoSichtbar, 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.jsBinary 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!