Standardbibliothek von JavaScript (Node.js): vollständiger Überblick
Node.js ist eine JavaScript-Laufzeitumgebung, die auf der V8-Engine von Google basiert. Einer ihrer Hauptvorteile ist die umfangreiche Standardbibliothek, die fertige Module für die unterschiedlichsten Aufgaben bereitstellt: von der Arbeit mit dem Dateisystem bis zur Erstellung von HTTP-Servern. In diesem Artikel werden wir die wichtigsten Module der Node.js-Standardbibliothek im Detail besprechen, Beispiele für ihre Verwendung zeigen und erklären, wann welches Modul anzuwenden ist.
1. Modul fs (File System)
Das Modul fs ermöglicht die Arbeit mit dem Dateisystem: Lesen, Schreiben, Löschen von Dateien und Verzeichnissen sowie das Überwachen von Änderungen. Es bietet sowohl synchrone als auch asynchrone Methoden.
const fs = require('fs');
// Asynchrones Lesen einer Dateifs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);});
// Synchrones Schreiben einer Dateifs.writeFileSync('output.txt', 'Hello, Node.js!');fs.readFile()— asynchrones Lesen einer Datei.fs.writeFileSync()— synchrones Schreiben von Daten in eine Datei.fs.mkdir()— Erstellen eines Verzeichnisses.fs.unlink()— Löschen einer Datei.
2. Modul path
Das Modul path bietet Hilfsprogramme für die Arbeit mit Datei- und Verzeichnispfaden. Es verarbeitet automatisch die Unterschiede zwischen den Betriebssystemen (Windows, Linux, macOS).
const path = require('path');
const filePath = '/home/user/docs/file.txt';console.log(path.dirname(filePath)); // /home/user/docsconsole.log(path.basename(filePath)); // file.txtconsole.log(path.extname(filePath)); // .txtpath.join()— verbindet Pfadsegmente.path.resolve()— wandelt einen relativen Pfad in einen absoluten um.path.normalize()— normalisiert den Pfad (entfernt überflüssige..und.).
3. Modul http
Das Modul http ermöglicht die Erstellung von HTTP-Servern und -Clients. Es ist die Grundlage für die Entwicklung von Webanwendungen und APIs.
const http = require('http');
const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello, World!');});
server.listen(3000, () => { console.log('Server läuft auf Port 3000');});http.createServer()— erstellt eine Serverinstanz.http.request()— führt eine HTTP-Anfrage an eine externe Ressource durch.http.get()— vereinfachte Version vonrequest()für GET-Anfragen.
4. Modul events
Das Modul events implementiert das Beobachter-Muster (Observer). Es ermöglicht das Erstellen eigener Ereignisse und das Abonnieren dieser. Die meisten Node.js-Objekte (z. B. Streams, Server) erben von EventEmitter.
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();myEmitter.on('event', () => { console.log('Ereignis ist eingetreten!');});myEmitter.emit('event');emitter.on()— Abonnieren eines Ereignisses.emitter.emit()— Auslösen eines Ereignisses.emitter.once()— Abonnieren eines einmaligen Ereignisses.
5. Modul stream
Streams sind ein grundlegendes Konzept von Node.js für die Arbeit mit Daten, die stückweise und nicht als Ganzes verarbeitet werden. Dies ist besonders nützlich für