Node.js v26.0.0 Dokumentation
- Node.js v26.0.0
- Inhaltsverzeichnis
- Globale Objekte
__dirname__filename- Klasse:
AbortController - Klasse:
AbortSignal atob(data)- Klasse:
Blob - Klasse:
BroadcastChannel btoa(data)- Klasse:
Buffer - Klasse:
ByteLengthQueuingStrategy clearImmediate(immediateObject)clearInterval(intervalObject)clearTimeout(timeoutObject)- Klasse:
CloseEvent - Klasse:
CompressionStream console- Klasse:
CountQueuingStrategy - Klasse:
Crypto crypto- Klasse:
CryptoKey - Klasse:
CustomEvent - Klasse:
DecompressionStream - Klasse:
DOMException ErrorEvent- Klasse:
Event - Klasse:
EventSource - Klasse:
EventTarget exportsfetch- Klasse:
File - Klasse:
FormData global- Klasse:
Headers localStorage- Klasse:
MessageChannel - Klasse:
MessageEvent - Klasse:
MessagePort module- Klasse:
Navigator navigatorperformance- Klasse:
PerformanceEntry - Klasse:
PerformanceMark - Klasse:
PerformanceMeasure - Klasse:
PerformanceObserver - Klasse:
PerformanceObserverEntryList - Klasse:
PerformanceResourceTiming processqueueMicrotask(callback)- Klasse:
QuotaExceededError - Klasse:
ReadableByteStreamController - Klasse:
ReadableStream - Klasse:
ReadableStreamBYOBReader - Klasse:
ReadableStreamBYOBRequest - Klasse:
ReadableStreamDefaultController - Klasse:
ReadableStreamDefaultReader - Klasse:
Request require()- Klasse:
Response sessionStoragesetImmediate(callback[, ...args])setInterval(callback, delay[, ...args])setTimeout(callback, delay[, ...args])- Klasse:
Storage structuredClone(value[, options])- Klasse:
SubtleCrypto - Klasse:
TextDecoder - Klasse:
TextDecoderStream - Klasse:
TextEncoder - Klasse:
TextEncoderStream - Klasse:
TransformStream - Klasse:
TransformStreamDefaultController - Klasse:
URL - Klasse:
URLPattern - Klasse:
URLSearchParams - Klasse:
WebAssembly - Klasse:
WebSocket - Klasse:
WritableStream - Klasse:
WritableStreamDefaultController - Klasse:
WritableStreamDefaultWriter
- Globale Objekte
- Index
- Über diese Dokumentation
- Verwendung und Beispiel
- Assertion-Tests
- Asynchrone Kontextverfolgung
- Async-Hooks
- Buffer
- C++-Add-ons
- C/C++-Add-ons mit Node-API
- C++-Embedder-API
- Kindprozesse
- Cluster
- Kommandozeilenoptionen
- Konsole
- Crypto
- Debugger
- Veraltete APIs
- Diagnostics Channel
- DNS
- Domain
- Umgebungsvariablen
- Fehler
- Events
- Dateisystem
- Globale Objekte
- HTTP
- HTTP/2
- HTTPS
- Inspector
- Internationalisierung
- Module: CommonJS-Module
- Module: ECMAScript-Module
- Module:
node:module-API - Module: Pakete
- Module: TypeScript
- Net
- Iterable Streams API
- OS
- Path
- Performance-Hooks
- Berechtigungen
- Process
- Punycode
- Query-Strings
- Readline
- REPL
- Report
- Einzelne ausführbare Anwendungen
- SQLite
- Stream
- String-Decoder
- Test-Runner
- Timer
- TLS/SSL
- Trace-Events
- TTY
- UDP/Datagramm
- URL
- Utilities
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- Worker-Threads
- Zlib
- Zlib Iterable Compression
- Andere Versionen
- Optionen
Globale Objekte#
Stabilität: 2 - Stabil
Diese Objekte sind in allen Modulen verfügbar.
Die folgenden Variablen mögen global erscheinen, sind es aber nicht. Sie existieren nur im Gültigkeitsbereich von CommonJS-Modulen.
Die hier aufgeführten Objekte sind spezifisch für Node.js. Es gibt integrierte Objekte, die Teil der JavaScript-Sprache selbst sind und ebenfalls global zugänglich sind.
__dirname#
Diese Variable mag global erscheinen, ist es aber nicht. Siehe __dirname.
__filename#
Diese Variable mag global erscheinen, ist es aber nicht. Siehe __filename.
Klasse: AbortController#
Eine Hilfsklasse, die verwendet wird, um den Abbruch in ausgewählten Promise-basierten APIs zu signalisieren. Die API basiert auf der Web-API <AbortController>.
const ac = new AbortController();
ac.signal.addEventListener('abort', () => console.log('Aborted!'),
{ once: true });
ac.abort();
console.log(ac.signal.aborted); // Prints true
abortController.abort([reason])#
reason<any>Ein optionaler Grund, der über die EigenschaftreasondesAbortSignalabrufbar ist.
Löst das Abbruchsignal aus, was dazu führt, dass das abortController.signal das Ereignis 'abort' auslöst.
abortController.signal#
- Typ:
<AbortSignal>
Klasse: AbortSignal#
- Erweitert:
<EventTarget>
Das AbortSignal wird verwendet, um Beobachter zu benachrichtigen, wenn die Methode abortController.abort() aufgerufen wird.
Statische Methode: AbortSignal.abort([reason])#
reason<any>- Rückgabewert:
<AbortSignal>
Gibt ein neues, bereits abgebrochenes AbortSignal zurück.
Statische Methode: AbortSignal.timeout(delay)#
delay<number>Die Anzahl der Millisekunden, die gewartet werden soll, bevor das AbortSignal ausgelöst wird.
Gibt ein neues AbortSignal zurück, das in delay Millisekunden abgebrochen wird.
Statische Methode: AbortSignal.any(signals)#
signals<AbortSignal[]>DieAbortSignale, aus denen ein neuesAbortSignalzusammengesetzt werden soll.
Gibt ein neues AbortSignal zurück, das abgebrochen wird, wenn eines der bereitgestellten Signale abgebrochen wird. Dessen abortSignal.reason wird auf dasjenige der signals gesetzt, das den Abbruch verursacht hat.
Ereignis: 'abort'#
Das Ereignis 'abort' wird ausgelöst, wenn die Methode abortController.abort() aufgerufen wird. Der Callback wird mit einem einzelnen Objekt-Argument aufgerufen, das eine einzelne Eigenschaft type hat, die auf 'abort' gesetzt ist.
const ac = new AbortController();
// Use either the onabort property...
ac.signal.onabort = () => console.log('aborted!');
// Or the EventTarget API...
ac.signal.addEventListener('abort', (event) => {
console.log(event.type); // Prints 'abort'
}, { once: true });
ac.abort();
Der AbortController, mit dem das AbortSignal verknüpft ist, löst das Ereignis 'abort' immer nur einmal aus. Es wird empfohlen, dass der Code prüft, ob das Attribut abortSignal.aborted den Wert false hat, bevor ein Event-Listener für 'abort' hinzugefügt wird.
Alle am AbortSignal angehängten Event-Listener sollten die Option { once: true } verwenden (oder, wenn die EventEmitter-APIs verwendet werden, um einen Listener anzuhängen, die Methode once()), um sicherzustellen, dass der Event-Listener entfernt wird, sobald das Ereignis 'abort' verarbeitet wurde. Andernfalls kann es zu Speicherlecks kommen.
abortSignal.aborted#
- Typ:
<boolean>
True, nachdem der AbortController abgebrochen wurde.
abortSignal.onabort#
- Typ:
<Function>
Eine optionale Callback-Funktion, die vom Benutzercode gesetzt werden kann, um benachrichtigt zu werden, wenn die Funktion abortController.abort() aufgerufen wurde.
abortSignal.reason#
- Typ:
<any>
Ein optionaler Grund, der beim Auslösen des AbortSignal angegeben wurde.
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason); // Error: boom!
abortSignal.throwIfAborted()#
Wenn abortSignal.aborted den Wert true hat, wird abortSignal.reason geworfen.
atob(data)#
Stabilität: 3 - Legacy. Verwenden Sie stattdessen Buffer.from(data, 'base64').
Globaler Alias für buffer.atob().
Eine automatisierte Migration ist verfügbar (Quelle)
npx codemod@latest @nodejs/buffer-atob-btoa
Klasse: Blob#
Siehe <Blob>.
Klasse: BroadcastChannel#
Siehe <BroadcastChannel>.
btoa(data)#
Stabilität: 3 - Legacy. Verwenden Sie stattdessen buf.toString('base64').
Globaler Alias für buffer.btoa().
Eine automatisierte Migration ist verfügbar (Quelle)
npx codemod@latest @nodejs/buffer-atob-btoa
Klasse: Buffer#
- Typ:
<Function>
Wird zur Verarbeitung binärer Daten verwendet. Siehe den Abschnitt "Buffer".
Klasse: ByteLengthQueuingStrategy#
Eine Browser-kompatible Implementierung von ByteLengthQueuingStrategy.
clearImmediate(immediateObject)#
clearImmediate wird im Abschnitt Timers beschrieben.
clearInterval(intervalObject)#
clearInterval wird im Abschnitt Timers beschrieben.
clearTimeout(timeoutObject)#
clearTimeout wird im Abschnitt Timers beschrieben.
Klasse: CloseEvent#
Eine Browser-kompatible Implementierung von <CloseEvent>. Deaktivieren Sie diese API mit dem CLI-Flag --no-experimental-websocket.
Klasse: CompressionStream#
Eine Browser-kompatible Implementierung von CompressionStream.
console#
- Typ:
<Object>
Wird zum Drucken auf stdout und stderr verwendet. Siehe den Abschnitt console.
Klasse: CountQueuingStrategy#
Eine Browser-kompatible Implementierung von CountQueuingStrategy.
Klasse: Crypto#
Eine Browser-kompatible Implementierung von <Crypto>. Dieses Global ist nur verfügbar, wenn das Node.js-Binary mit Unterstützung für das Modul node:crypto kompiliert wurde.
crypto#
Eine Browser-kompatible Implementierung der Web Crypto API.
Klasse: CryptoKey#
Eine Browser-kompatible Implementierung von <CryptoKey>. Dieses Global ist nur verfügbar, wenn das Node.js-Binary mit Unterstützung für das Modul node:crypto kompiliert wurde.
Klasse: CustomEvent#
Eine Browser-kompatible Implementierung von <CustomEvent>.
Klasse: DecompressionStream#
Eine Browser-kompatible Implementierung von DecompressionStream.
Klasse: DOMException#
Die WHATWG-Klasse <DOMException>.
ErrorEvent#
Eine Browser-kompatible Implementierung von <ErrorEvent>.
Klasse: Event#
Eine Browser-kompatible Implementierung der Klasse Event. Siehe EventTarget und Event API für weitere Details.
Klasse: EventSource#
Stabilität: 1 - Experimentell. Aktivieren Sie diese API mit dem CLI-Flag --experimental-eventsource.
Eine Browser-kompatible Implementierung von <EventSource>.
Klasse: EventTarget#
Eine Browser-kompatible Implementierung der Klasse EventTarget. Siehe EventTarget und Event API für weitere Details.
exports#
Diese Variable mag global erscheinen, ist es aber nicht. Siehe exports.
fetch#
Eine Browser-kompatible Implementierung der Funktion fetch().
const res = await fetch('https://nodejsorg.de/api/documentation.json');
if (res.ok) {
const data = await res.json();
console.log(data);
}
Die Implementierung basiert auf undici, einem von Grund auf für Node.js geschriebenen HTTP/1.1-Client. Sie können herausfinden, welche Version von undici in Ihrem Node.js-Prozess enthalten ist, indem Sie die Eigenschaft process.versions.undici lesen.
Benutzerdefinierter Dispatcher#
Sie können einen benutzerdefinierten Dispatcher verwenden, um Anfragen zu versenden, indem Sie ihn im Optionsobjekt von fetch übergeben. Der Dispatcher muss mit der Dispatcher-Klasse von undici kompatibel sein.
fetch(url, { dispatcher: new MyAgent() });
Es ist möglich, den globalen Dispatcher in Node.js zu ändern, indem Sie undici installieren und die Methode setGlobalDispatcher() verwenden. Der Aufruf dieser Methode wirkt sich sowohl auf undici als auch auf Node.js aus.
import { setGlobalDispatcher } from 'undici';
setGlobalDispatcher(new MyAgent());
Zugehörige Klassen#
Die folgenden Globals stehen zur Verwendung mit fetch zur Verfügung
Klasse: File#
Siehe <File>.
Klasse: FormData#
Eine Browser-kompatible Implementierung von <FormData>.
global#
Stabilität: 3 - Legacy. Verwenden Sie stattdessen globalThis.
- Typ:
<Object>Das globale Namensraum-Objekt.
In Browsern ist der Top-Level-Scope traditionell der globale Scope. Das bedeutet, dass var something eine neue globale Variable definiert, außer innerhalb von ECMAScript-Modulen. In Node.js ist das anders. Der Top-Level-Scope ist nicht der globale Scope; var something innerhalb eines Node.js-Moduls ist lokal für dieses Modul, unabhängig davon, ob es sich um ein CommonJS-Modul oder ein ECMAScript-Modul handelt.
Klasse: Headers#
Eine Browser-kompatible Implementierung von <Headers>.
localStorage#
Stabilität: 1.2 - Release-Kandidat. Deaktivieren Sie diese API mit --no-experimental-webstorage.
Eine Browser-kompatible Implementierung von localStorage. Daten werden unverschlüsselt in der Datei gespeichert, die durch das CLI-Flag --localstorage-file angegeben wird. Die maximale Datenmenge, die gespeichert werden kann, beträgt 10 MB. Jede Änderung dieser Daten außerhalb der Web Storage API wird nicht unterstützt. localStorage-Daten werden bei Verwendung im Kontext eines Servers nicht pro Benutzer oder pro Anfrage gespeichert, sondern über alle Benutzer und Anfragen hinweg geteilt.
Klasse: MessageChannel#
Die MessageChannel-Klasse. Siehe MessageChannel für weitere Details.
Klasse: MessageEvent#
Eine Browser-kompatible Implementierung von <MessageEvent>.
Klasse: MessagePort#
Die MessagePort-Klasse. Siehe MessagePort für weitere Details.
module#
Diese Variable mag global erscheinen, ist es aber nicht. Siehe module.
Klasse: Navigator#
Stabilität: 1.1 - Aktive Entwicklung. Deaktivieren Sie diese API mit dem CLI-Flag --no-experimental-global-navigator.
Eine Teilimplementierung der Navigator API.
navigator#
Stabilität: 1.1 - Aktive Entwicklung. Deaktivieren Sie diese API mit dem CLI-Flag --no-experimental-global-navigator.
Eine Teilimplementierung von window.navigator.
navigator.hardwareConcurrency#
- Typ:
<number>
Die schreibgeschützte Eigenschaft navigator.hardwareConcurrency gibt die Anzahl der logischen Prozessoren zurück, die der aktuellen Node.js-Instanz zur Verfügung stehen.
console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`);
navigator.language#
- Typ:
<string>
Die schreibgeschützte Eigenschaft navigator.language gibt einen String zurück, der die bevorzugte Sprache der Node.js-Instanz darstellt. Die Sprache wird durch die von Node.js zur Laufzeit verwendete ICU-Bibliothek basierend auf der Standardsprache des Betriebssystems bestimmt.
Der Wert stellt die Sprachversion gemäß der Definition in RFC 5646 dar.
Der Fallback-Wert bei Builds ohne ICU ist 'en-US'.
console.log(`The preferred language of the Node.js instance has the tag '${navigator.language}'`);
navigator.languages#
- Typ:
<string[]>
Die schreibgeschützte Eigenschaft navigator.languages gibt ein Array von Strings zurück, die die bevorzugten Sprachen der Node.js-Instanz darstellen. Standardmäßig enthält navigator.languages nur den Wert von navigator.language, welcher durch die von Node.js zur Laufzeit verwendete ICU-Bibliothek basierend auf der Standardsprache des Betriebssystems bestimmt wird.
Der Fallback-Wert bei Builds ohne ICU ist ['en-US'].
console.log(`The preferred languages are '${navigator.languages}'`);
navigator.locks#
Stabilität: 1 - Experimentell
Die schreibgeschützte Eigenschaft navigator.locks gibt eine LockManager-Instanz zurück, die zur Koordination des Zugriffs auf Ressourcen verwendet werden kann, die über mehrere Threads innerhalb desselben Prozesses geteilt werden können. Diese globale Implementierung entspricht der Semantik der Browser LockManager API.
// Request an exclusive lock await navigator.locks.request('my_resource', async (lock) => { // The lock has been acquired. console.log(`Lock acquired: ${lock.name}`); // Lock is automatically released when the function returns }); // Request a shared lock await navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => { // Multiple shared locks can be held simultaneously console.log(`Shared lock acquired: ${lock.name}`); });// Request an exclusive lock navigator.locks.request('my_resource', async (lock) => { // The lock has been acquired. console.log(`Lock acquired: ${lock.name}`); // Lock is automatically released when the function returns }).then(() => { console.log('Lock released'); }); // Request a shared lock navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => { // Multiple shared locks can be held simultaneously console.log(`Shared lock acquired: ${lock.name}`); }).then(() => { console.log('Shared lock released'); });
Siehe worker_threads.locks für eine detaillierte API-Dokumentation.
navigator.platform#
- Typ:
<string>
Die schreibgeschützte Eigenschaft navigator.platform gibt einen String zurück, der die Plattform identifiziert, auf der die Node.js-Instanz läuft.
console.log(`This process is running on ${navigator.platform}`);
navigator.userAgent#
- Typ:
<string>
Die schreibgeschützte Eigenschaft navigator.userAgent gibt den User-Agent zurück, der aus dem Laufzeitnamen und der Hauptversionsnummer besteht.
console.log(`The user-agent is ${navigator.userAgent}`); // Prints "Node.js/21"
performance#
Das Objekt perf_hooks.performance.
Klasse: PerformanceEntry#
Die Klasse PerformanceEntry. Siehe PerformanceEntry für weitere Details.
Klasse: PerformanceMark#
Die Klasse PerformanceMark. Siehe PerformanceMark für weitere Details.
Klasse: PerformanceMeasure#
Die Klasse PerformanceMeasure. Siehe PerformanceMeasure für weitere Details.
Klasse: PerformanceObserver#
Die Klasse PerformanceObserver. Siehe PerformanceObserver für weitere Details.
Klasse: PerformanceObserverEntryList#
Die Klasse PerformanceObserverEntryList. Siehe PerformanceObserverEntryList für weitere Details.
Klasse: PerformanceResourceTiming#
Die Klasse PerformanceResourceTiming. Siehe PerformanceResourceTiming für weitere Details.
process#
- Typ:
<Object>
Das Prozess-Objekt. Siehe den Abschnitt process Objekt.
queueMicrotask(callback)#
callback<Function>Funktion, die in die Warteschlange gestellt werden soll.
Die Methode queueMicrotask() stellt einen Microtask in die Warteschlange, um callback aufzurufen. Wenn callback eine Ausnahme wirft, wird das Ereignis 'uncaughtException' des process-Objekts ausgelöst.
Die Microtask-Warteschlange wird von V8 verwaltet und kann auf ähnliche Weise verwendet werden wie die von Node.js verwaltete process.nextTick()-Warteschlange. Die process.nextTick()-Warteschlange wird innerhalb jedes Durchlaufs des Node.js-Event-Loops immer vor der Microtask-Warteschlange verarbeitet.
// Here, `queueMicrotask()` is used to ensure the 'load' event is always
// emitted asynchronously, and therefore consistently. Using
// `process.nextTick()` here would result in the 'load' event always emitting
// before any other promise jobs.
DataHandler.prototype.load = async function load(key) {
const hit = this._cache.get(key);
if (hit !== undefined) {
queueMicrotask(() => {
this.emit('load', hit);
});
return;
}
const data = await fetchData(key);
this._cache.set(key, data);
this.emit('load', data);
};
Klasse: QuotaExceededError#
Die WHATWG-Klasse {QuotaExceededError}. Erweitert <DOMException>.
Klasse: ReadableByteStreamController#
Eine Browser-kompatible Implementierung von ReadableByteStreamController.
Klasse: ReadableStream#
Eine Browser-kompatible Implementierung von ReadableStream.
Klasse: ReadableStreamBYOBReader#
Eine Browser-kompatible Implementierung von ReadableStreamBYOBReader.
Klasse: ReadableStreamBYOBRequest#
Eine Browser-kompatible Implementierung von ReadableStreamBYOBRequest.
Klasse: ReadableStreamDefaultController#
Eine Browser-kompatible Implementierung von ReadableStreamDefaultController.
Klasse: ReadableStreamDefaultReader#
Eine Browser-kompatible Implementierung von ReadableStreamDefaultReader.
Klasse: Request#
Eine Browser-kompatible Implementierung von <Request>.
require()#
Diese Variable mag global erscheinen, ist es aber nicht. Siehe require().
Klasse: Response#
Eine Browser-kompatible Implementierung von <Response>.
sessionStorage#
Stabilität: 1.2 - Release-Kandidat. Deaktivieren Sie diese API mit --no-experimental-webstorage.
Eine Browser-kompatible Implementierung von sessionStorage. Die Daten werden im Arbeitsspeicher gespeichert, mit einem Speicherkontingent von 10 MB. sessionStorage-Daten bleiben nur innerhalb des aktuell laufenden Prozesses bestehen und werden nicht zwischen Workern geteilt.
setImmediate(callback[, ...args])#
setImmediate wird im Abschnitt Timers beschrieben.
setInterval(callback, delay[, ...args])#
setInterval wird im Abschnitt Timers beschrieben.
setTimeout(callback, delay[, ...args])#
setTimeout wird im Abschnitt Timers beschrieben.
Klasse: Storage#
Stabilität: 1.2 - Release-Kandidat. Deaktivieren Sie diese API mit --no-experimental-webstorage.
Eine Browser-kompatible Implementierung von <Storage>.
structuredClone(value[, options])#
Die WHATWG-Methode structuredClone.
Klasse: SubtleCrypto#
Eine Browser-kompatible Implementierung von <SubtleCrypto>. Dieses Global ist nur verfügbar, wenn das Node.js-Binary mit Unterstützung für das Modul node:crypto kompiliert wurde.
Klasse: TextDecoder#
Die WHATWG-Klasse TextDecoder. Siehe den Abschnitt TextDecoder.
Klasse: TextDecoderStream#
Eine Browser-kompatible Implementierung von TextDecoderStream.
Klasse: TextEncoder#
Die WHATWG-Klasse TextEncoder. Siehe den Abschnitt TextEncoder.
Klasse: TextEncoderStream#
Eine Browser-kompatible Implementierung von TextEncoderStream.
Klasse: TransformStream#
Eine Browser-kompatible Implementierung von TransformStream.
Klasse: TransformStreamDefaultController#
Eine Browser-kompatible Implementierung von TransformStreamDefaultController.
Klasse: URL#
Die WHATWG-Klasse URL. Siehe den Abschnitt URL.
Klasse: URLPattern#
Stabilität: 1 - Experimentell
Die WHATWG-Klasse URLPattern. Siehe den Abschnitt URLPattern.
Klasse: URLSearchParams#
Die WHATWG-Klasse URLSearchParams. Siehe den Abschnitt URLSearchParams.
Klasse: WebAssembly#
- Typ:
<Object>
Das Objekt, das als Namensraum für alle W3C-WebAssembly-bezogenen Funktionen dient. Siehe das Mozilla Developer Network für Nutzung und Kompatibilität.
Klasse: WebSocket#
Eine Browser-kompatible Implementierung von <WebSocket>. Deaktivieren Sie diese API mit dem CLI-Flag --no-experimental-websocket.
Klasse: WritableStream#
Eine Browser-kompatible Implementierung von WritableStream.
Klasse: WritableStreamDefaultController#
Eine Browser-kompatible Implementierung von WritableStreamDefaultController.
Klasse: WritableStreamDefaultWriter#
Eine Browser-kompatible Implementierung von WritableStreamDefaultWriter.