Was sind die Kernmodule von node.js

Was sind die Kernmodule von node.js

Globales Objekt

In Browser-JS ist Fenster normalerweise das globale Objekt, während das globale Objekt in Node.JS global ist und alle globalen Variablen Eigenschaften des globalen Objekts sind.

Objekte, auf die in node.js direkt zugegriffen werden kann, sind normalerweise globale Eigenschaften wie Konsole, Prozess usw.

Globale Objekte und globale Variablen

Die grundlegendste Rolle von „global“ besteht darin, als Host für globale Variablen zu dienen.

Bedingungen für globale Variablen:

Auf äußerster Ebene definierte Variablen; Eigenschaften des globalen Objekts; implizit definierte Variablen (Variablen, denen keine Werte direkt zugewiesen sind)

Definiert eine globale Variable, die auch eine Eigenschaft des globalen Objekts ist.

Verwenden Sie zum Definieren von Variablen immer var, um die Einführung globaler Variablen zu vermeiden, da globale Variablen den Namespace verschmutzen und das Risiko einer Code-Kopplung erhöhen.

Verfahren

Prozess ist eine globale Variable, also eine Eigenschaft des globalen Objekts. Es wird verwendet, um den Status des Node.JS-Prozessobjekts zu beschreiben und eine einfache Schnittstelle mit dem Betriebssystem bereitzustellen.

process.argv ist ein Array von Befehlszeilenparametern. Das erste Element ist der Knoten, das zweite der Name der Skriptdatei und ab dem dritten ist jedes Element ein laufender Parameter.

Konsole.log(Prozess.argv);

process.stdout ist der Standardausgabestream.

process.stdin ist der Standardeingabestream.

Die Funktion von process.nextTick(callback) besteht darin, eine Aufgabe für die Ereignisschleife festzulegen. Der Rückruf wird aufgerufen, wenn die Ereignisschleife das nächste Mal antwortet.

Es gibt auch process.platform, process.pid, process.execPath, process.memoryUsage() usw. POSIX-Prozesssignal-Antwortmechanismus.

Konsole

Wird verwendet, um eine Standardausgabe für die Konsole bereitzustellen.

  • konsole.log()
  • konsole.fehler()
  • konsole.trace()

Allgemeine Tools util

util ist ein Node.js-Kernmodul, das eine Sammlung häufig verwendeter Funktionen bereitstellt, um die Mängel der übermäßig rationalisierten Funktionen des Kern-JS auszugleichen.

util.inherits implementiert Funktionen zur Prototypenvererbung zwischen Objekten. Die objektorientierten Funktionen von js basieren auf Prototypen.

util.inspect-Methode zum Konvertieren eines beliebigen Objekts in eine Zeichenfolge.

util.isArray(), util.isRegExp(), util.isDate(), util.isError(), util.format(), util.debug() usw.

Ereignismechanismus Ereignisse - Ereignismodul

Events ist das wichtigste Modul von NodeJs. Die Architektur von NodeJs selbst ist ereignisbasiert und bietet eine einzigartige Schnittstelle, sodass es als Eckpfeiler der NodeJs-Ereignisprogrammierung bezeichnet werden kann.

Ereignisemitter

Das Ereignismodul stellt nur ein Objekt bereit: events.EventEmitter. Sein Kern ist die Kapselung von Ereignisemissions- und Ereignisüberwachungsfunktionen.

Häufig verwendete EventEmitter-API:

  • EventEmitter.on(event, listener) registriert einen Listener für das angegebene Ereignis und akzeptiert ein String-Ereignis und einen Callback-Funktions-Listener.
  • EventEmitter.emit(event, [arg1], [arg2], [...]) gibt das Ereignis event aus und übergibt mehrere optionale Parameter an die Parameterliste des Ereignislisteners.
  • EventEmitter.once (Ereignis, Listener) registriert einen einmaligen Listener für das angegebene Ereignis, d. h. der Listener wird höchstens einmal ausgelöst und der Listener wird unmittelbar nach der Auslösung freigegeben
  • EventEmitter.removeListener(event, listener) entfernt einen Listener für das angegebene Ereignis. Der Listener muss ein Listener sein, der für das Ereignis registriert wurde.
  • EventEmitter.removeAllListeners([event]) entfernt alle Listener für alle Events. Wenn event angegeben ist, werden alle Listener für das angegebene Event entfernt.

Fehlerereignis

Wenn eine Ausnahme auftritt, wird normalerweise ein Fehlerereignis ausgegeben.

EventEmitter erben

EventEmitter wird nicht direkt verwendet, sondern vom Objekt geerbt. Einschließlich fs, net, http, solange das Kernmodul die Ereignisantwort unterstützt, ist es eine Unterklasse von EventEmitter.

Dateisystem fs - fs-Modul

Die Kapselung von Dateioperationen ermöglicht POSIX-Dateisystemoperationen wie Lesen, Schreiben, Umbenennen, Löschen, Durchsuchen von Verzeichnissen und Verknüpfen von Dateien. Es gibt zwei Versionen, asynchron und synchron.

fs.readFile(Dateiname, [Kodierung], [Rückruf(Fehler, Daten)]) ist die einfachste Funktion zum Lesen einer Datei.

var fs = erfordern("fs");
fs.readFile("server.js", "utf-8", Funktion(err, Daten){
wenn (Fehler){
    console.log(fehler);
}anders{
    konsole.log(Daten);
}})

fs.readFileSync

fs.readFileSync(Dateiname, [Kodierung]) ist die synchrone Version von fs.readFile. Es akzeptiert die gleichen Parameter wie fs.readFile und der gelesene Dateiinhalt wird als Funktionsrückgabewert zurückgegeben. Wenn ein Fehler auftritt, wirft fs eine Ausnahme aus, die Sie mit „try“ und „catch“ erfassen und verarbeiten müssen.

fs.öffnen

fs.lesen

Verwenden Sie die beiden oben genannten Methoden zum Lesen von Dateien grundsätzlich nur, wenn es unbedingt nötig ist, da Sie Puffer und Dateizeiger manuell verwalten müssen, was sehr mühsam sein kann, insbesondere wenn Sie die Dateigröße nicht kennen.

HTTP-Modul

Das http-Modul wird hauptsächlich zum Erstellen von http-Diensten, Verarbeiten von Benutzeranforderungsinformationen usw. verwendet.

Verwenden der HTTP-Anforderung

const http = erfordern('http');
// Zum Senden einer HTTP-Anfrage verwenden const options = {
  Protokoll: 'http:',
  Hostname: „www.baidu.com“,
  Port: '80',
  Methode: 'GET',
  Pfad: '/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg'
};
let responseData = '';
const request = http.request(Optionen, Antwort => {
  console.log(response.statusCode); // Den Statuscode der Linkanforderung abrufen response.setEncoding('utf8');
  Antwort.auf('Daten', Chunk => {
    Antwortdaten += Block;
  });
  Antwort.am('Ende', () => {
    console.log(Antwortdaten);
  });
});
Anfrage.bei('Fehler', Fehler => {
  konsole.log(Fehler);
});
Anfrage.Ende();

Erstellen eines Dienstes mit http

//Erstellen Sie einen Server mit http const port = 3000;
const host = "127.0.0.1";
const server = http.createServer();
server.on('Anfrage', (Anfrage, Antwort) => {
  Antwort.writeHead(200, {
    „Inhaltstyp“: „Text/Plain“
  });
  response.end('Hallo Welt\n');
});
server.listen(port, host, () => {
  console.log(`Server läuft unter http://${host}:${port}/`);
});

Es gibt viele weitere Node-Kernmodule, wie z. B. Puffer, Kryptoverschlüsselung, Stream-Nutzung, Net-Netzwerk, OS-Betriebssystem usw.

Oben finden Sie den detaillierten Inhalt der node.js-Kernmodule. Weitere Informationen zu node.js-Kernmodulen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Modularität in Node.js, npm-Paketmanager erklärt
  • Detaillierte Erklärung der Methoden des fs-Moduls und des Path-Moduls in Node.js
  • Verwendung des Node.js-HTTP-Moduls
  • Sprechen Sie über das Modulsystem in node.js
  • Detaillierte Erklärung der Modularisierung in Node.js

<<:  Nginx-Inhaltscache und allgemeine Parameterkonfigurationsdetails

>>:  MySQL-Grundlagen in 1 Stunde

Artikel empfehlen

Detaillierte Erklärung des CSS-Pseudoelements::marker

Dieser Artikel stellt ein interessantes Pseudoele...

js Drag & Drop-Tabelle zur Realisierung der Inhaltsberechnung

In diesem Artikelbeispiel wird der spezifische Co...

Der Prozess der Bereitstellung eines Projekts auf einem anderen Host mit Jenkins

Umfeld Hostname IP-Adresse Aufschlag Jenkins 192....

So verwenden Sie Webstorm und Chrome zum Debuggen von Vue-Projekten

Inhaltsverzeichnis Vorwort 1. Erstellen Sie ein n...

Befehl zum Anzeigen der Erstellungszeit der Binlog-Datei unter Linux

Inhaltsverzeichnis Hintergrund analysieren Verfah...

Detaillierte Erläuterung des Installationsprozesses von Jenkins auf CentOS 7

Installieren Sie Jenkins über Yum 1. Installation...

JavaScript-Einzelthread und asynchrone Details

Inhaltsverzeichnis 1. Aufgabenwarteschlange 2. Um...

Mysql, einige komplexe SQL-Anweisungen (Abfragen und Löschen doppelter Zeilen)

1. Suchen Sie nach doppelten Zeilen Wählen Sie * ...

js, um den Effekt des Ziehens des Schiebereglers zu erzielen

In diesem Artikel finden Sie den spezifischen Cod...

So implementieren Sie https mit Nginx und OpenSSL

Wenn die Serverdaten nicht verschlüsselt und mit ...