Implementierung integrierter Module und benutzerdefinierter Module in Node.js

Implementierung integrierter Module und benutzerdefinierter Module in Node.js

1. Commonjs

  • Commonjs ist ein benutzerdefiniertes Modul in nodejs
  • Die Commonjs-Spezifikation wurde vorgeschlagen, um den Mangel an Standards in JavaScript auszugleichen und eine Standardbibliothek ähnlich der Back-End-Sprache bereitzustellen. Mit anderen Worten: commonjs ist ein modularer Standard und nodejs ist die modulare Implementierung von commonjs. In nodejs sind sie, mit Ausnahme von http, url, fs usw., alle integrierte Module von nodejs und können direkt verwendet werden.
  • Implementierung von benutzerdefinierten Modulen in CommonJS:
  • In nodejs werden öffentliche Funktionen als Module in separate js-Dateien extrahiert, auf die von außen nicht zugegriffen werden kann (ähnlich wie die privaten Eigenschaften und Methoden des Backends). Wenn Sie das Modul verwenden möchten, müssen Sie die Eigenschaften oder Methoden im Modul über Exporte oder module.exports verfügbar machen. Verwenden Sie „require“, um das Modul bei Bedarf zu importieren.

2. Zwei Lösungen für den Modulexport

Lösung 1

lass str={};
modul.exporte=str;

Lösung 2

lass str={};
Exporte.A=str;

3. Benutzerdefinierte Module schreiben

allgemein.js

// Integrierte Module und benutzerdefinierte Module im Knoten // Das Modul exportiert zwei Lösungen let str={};
modul.exporte=str;
Exporte.A=str;

// Um ​​ein Modul zu importieren, verwenden Sie require(""), um das Modul zu laden let todo = require("./todo"); // Das Suffix kann weggelassen werden console.log(todo);

todo.js

module.exports={
   Name: „Zhang San“,
   Schlaf:Funktion(){
       console.log("schlafen");
   }
}

oder

module.exports={
   Name: „Zhang San“,
   Schlaf:Funktion(){
       console.log("schlafen");
   }
}
  • Bei require() im Knoten können Sie den Namen beim Laden eines Moduls direkt schreiben, es muss jedoch unter der Abhängigkeit geladen werden und es muss eine Konfigurationsdatei generiert werden.
  • Geben Sie die Abhängigkeitsdatei im Terminal ein und installieren Sie die Konfigurationsdatei
  • Nodejs kann Dateien automatisch unter der Datei node_modules finden: Wenn sich unter der Datei node_modules ein Ordner befindet, können Sie diese Datei mit cd aufrufen und mit dem Befehl cnpm init --yes die Datei package.json der aktuellen Datei installieren und require("name"); direkt anfordern.

Fall 1

allgemein.js

// Um ​​ein Modul zu importieren, verwenden Sie require(""), um das Modul zu laden let todo = require("./todo"); // Das Suffix kann weggelassen werden console.log(todo);

// Wenn require() in node verwendet wird, kannst du beim Laden eines Moduls den Namen direkt schreiben, es muss jedoch unter der Abhängigkeit geladen werden und eine Konfigurationsdatei muss generiert werden // Gib die Abhängigkeitsdatei in das Terminal ein und installiere die Konfigurationsdatei let fetch=require("Fetch");
Konsole.log(abrufen);
fetch.get("http://www.zjm.com");

Fetch.js

module.exports={
   bekomme(URL){
       konsole.log(url);
   }
}

Fall 2

allgemein.js

Lassen Sie Axios = erfordern("Axios");
let url = "https://autumnfish.cn/search";
let data = { Schlüsselwörter: ‚Xi‘an‘ };
const http = erfordern("http");
let app = http.createServer((req, res) => {
   res.writeHead(200, { "Inhaltstyp": "text/html; Zeichensatz=utf-8" });
   Axios.get(url, { params: data }).then((Ergebnis) => {
       res.write(Ergebnis);
       res.ende();
   });
});
app.listen(8080)

Axios.js

const http = erfordern("http");
const https = erfordern("https");
//Konvertierungsmethode let change = (args) => {
   lass str = "?";
   für (let-Schlüssel in Argumenten) {
       str += Schlüssel + "=" + args[Schlüssel];
       str += "&";
   }
   gibt str.slice(0, str.length - 1) zurück;
}
modul.exporte = {
   erhalte(href, { Parameter }) {
       returniere neues Promise((lösen, ablehnen) => {
           href += ändern(Parameter);
           https.get(href, (res) => {
               let { statusCode } = res;
               lass Fehler;
               wenn (Statuscode != 200) {
                   Fehler = neuer Fehler('Anforderung fehlgeschlagen.\n' +
                       `Statuscode: ${statusCode}`);
               }
               if (Fehler) {
                   konsole.fehler(fehler.nachricht);
                   // Antwortdaten verbrauchen, um Speicher freizugeben
                   res.Lebenslauf();
                   zurückkehren;
               }
               //Antwortkodierung festlegen res.setEncoding("utf8");
               lassen Sie alle Daten = "";
               //Überwachen Sie datares.on("data", (info) => {
                   alle Daten += Info;
               })
               res.on("Ende", () => {
                   lass Daten = alle Daten;
                   auflösen (Daten);
               })
           });
       });
   },
   Post() {

   }
}

Dies ist das Ende dieses Artikels über die Implementierung integrierter und benutzerdefinierter Module in Node.js. Weitere relevante integrierte und benutzerdefinierte Module von Node.js finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Eine kurze Einführung in das Front-End-Progressive-Framework VUE
  • Detaillierte Erklärung des Beispielcodes des Vuex Progressive-Tutorials
  • Detaillierte Erläuterung der Konfiguration der Spring Boot-Webanwendung
  • Beispielcode zum Erstellen einer Webanwendung mit Spring Boot
  • Fehlerbehebung bei hohem Speicherverbrauch von NodeJs, tatsächlicher Kampfrekord
  • Detaillierte Erläuterung der Verwendung des in Nodejs integrierten Verschlüsselungsmoduls zur Peer-to-Peer-Verschlüsselung und -Entschlüsselung
  • So nutzen Sie die Multi-Core-CPU in node.js voll aus
  • Zusammenfassung einiger Tipps zum Umgehen der Node.js-Codeausführung
  • So entwickeln Sie eine Progressive Web App (PWA)

<<:  Detaillierte Erläuterung der Methoden zur Überprüfung und Verwaltung von MySQL-Benutzerrechten

>>:  So konfigurieren Sie Linux CentOS für die regelmäßige Ausführung von Skripten

Artikel empfehlen

Implementierungsbeispiel eines Nginx+Tomcat-Load-Balancing-Clusters

Inhaltsverzeichnis Einführung 1. Fallübersicht 2....

19 MySQL-Optimierungsmethoden im Datenbankmanagement

Nach der MySQL-Datenbankoptimierung kann nicht nu...

JavaScript-Grundlagen: Fehlererfassungsmechanismus

Inhaltsverzeichnis Vorwort Error-Objekt werfen ve...

VPS erstellt Offline-Download-Server (nach der Ära der Netzwerkfestplatten)

Motivation Aus Lerngründen habe ich einen VPS-Die...

Einführung in das Layout des HTML-Seitenquellcodes_Powernode Java Academy

Einführung in das Layout des HTML-Seitenquellcode...

Analyse der Vor- und Nachteile von gespeicherten MySQL-Prozeduren

MySQL Version 5.0 begann, gespeicherte Prozeduren...

HTML-Endtag-Problem und W3C-Standard

Gemäß den Grundsätzen des W3C muss jedes Start-Tag...

So erhalten Sie Datums-/Uhrzeitdaten in MySQL, gefolgt von .0

Der Datentyp von MySQL ist datetime. Die in der D...

Einfaches Beispiel für die Definition und Verwendung von MySQL-Triggern

Dieser Artikel beschreibt die Definition und Verw...

...

So erreichen Sie die maximale Anzahl von Verbindungen in MySQL

Inhaltsverzeichnis Was ist der Grund für den plöt...

Adaptive Breitentabelle für HTML-Seiten

Auf den Seiten von Webanwendungen werden häufig T...