Node.js 22 veröffentlicht: Überblick über die wichtigsten Neuerungen und Änderungen
Die JavaScript-Entwicklergemeinschaft hat ein wichtiges Ereignis erlebt – die offizielle Veröffentlichung von Node.js 22. Diese Version bringt zahlreiche Verbesserungen mit sich, die sowohl Backend-Entwickler als auch Entwickler von Kommandozeilenwerkzeugen betreffen. Lassen Sie uns die bedeutendsten Änderungen durchgehen, die jeder kennen sollte, der mit Node.js arbeitet.
V8 12.4 Engine: Geschwindigkeit und neue Funktionen
Das Herz von Node.js 22 ist die aktualisierte V8-Engine Version 12.4. Dies ist nicht nur ein kosmetisches Upgrade – es bringt neue JavaScript-Features, die bereits jetzt in der Produktion eingesetzt werden können:
- Array.fromAsync – eine statische Methode zum asynchronen Erstellen von Arrays aus iterierbaren Objekten. Vereinfacht die Arbeit mit Datenströmen.
- Set-Methoden – direkte Aufrufe von
intersection(),union(),difference()für die Arbeit mit Mengen ohne externe Bibliotheken. - Iterator Helpers – lang erwartete Methoden für die Arbeit mit Iteratoren (map, filter, take und andere) sind jetzt "out of the box" verfügbar.
Stabiles require() für ESM-Module
Eine der am meisten diskutierten Änderungen – das Flag --experimental-require-module ist jetzt standardmäßig aktiviert. Das bedeutet, dass Sie require() zum Laden von ESM-Modulen (mit der Erweiterung .mjs oder mit "type": "module" in package.json) verwenden können.
Was bedeutet das für den Entwickler:
- Sukzessiver Übergang von CommonJS zu ESM ohne Umschreiben des gesamten Codes.
- Möglichkeit, moderne ESM-Pakete in alten Projekten einzubinden.
- Vereinfachung der Migration für große Codebasen.
Verbessertes WebSocket und Netzwerkarbeit
Node.js 22 enthält einen integrierten WebSocket-Client (zuvor experimentell). Für die Erstellung von Echtzeitanwendungen müssen nun ws oder socket.io nicht mehr installiert werden – alles ist über das globale Objekt WebSocket verfügbar.
Ebenfalls erwähnenswert sind die Verbesserungen am HTTP-Client: Die Unterstützung für HTTP/2 ist standardmäßig aktiviert, und es besteht die Möglichkeit, fetch() mit automatischer Proxy-Erkennung aus Umgebungsvariablen zu verwenden.
Änderungen bei der Arbeit mit dem Dateisystem
Entwickler, die mit Dateien arbeiten, werden die neuen Methoden im Modul fs zu schätzen wissen:
- fs.cp – jetzt stabil und schneller als Alternativen.
- fs.openAsBlob() – Erstellung eines Blob aus einer Datei, ohne sie vollständig in den Speicher zu laden.
- Verbesserte Unterstützung für symbolische Links unter Windows.
Was ist veraltet und entfernt worden
Wie bei jedem großen Update wurden einige Funktionen als veraltet markiert oder entfernt:
- Das Modul
punycodewurde endgültig entfernt (verwenden SieURLoder das Paketpunycodevon npm). - Die Befehlszeilenargumente
--experimental-loaderund--experimental-specifier-resolutionwurden für veraltet erklärt. - Die Option
--no-experimental-fetchfunktioniert nicht mehr – fetch ist nun dauerhaft integriert.
Wie man aktualisiert
Node.js 22 steht zum Download auf der offiziellen Website nodejs.org zur Verfügung. Es wird empfohlen, über einen Versionsmanager (nvm oder fnm) zu aktualisieren, um bei Bedarf schnell zurückwechseln zu können.