In oktober 2022 bracht Node.js zijn 19e versie uit. Het kwam zes maanden na de release van Node.js v.18, die belangrijke upgrades bevatte, zoals de native testrunner-module.
Een opvallend kenmerk in Node.js 19 is de nieuwe en experimentele kijkmodus. Hierdoor kunt u wijzigingen aan uw server aanbrengen zonder deze opnieuw op te starten.
Vóór Node.js 19 was de watch-modus alleen mogelijk met behulp van bibliotheken van derden. Leer hoe u de horlogemodus gebruikt en ontdek andere updates voor Node.js in versie 19.
Node's nieuwe kijkmodus
Node.js 19 introduceert het experimentele --horloge vlag, die opnieuw wordt gestart een Node.js-server wanneer het wijzigingen in het opgegeven bestand detecteert. U kon dit eerder doen met behulp van een bibliotheek van derden genaamd nodemon, maar de update verwijdert de behoefte aan een afhankelijkheid door de functionaliteit toe te voegen aan Node.js.
Om uw Node.js-server opnieuw op te starten met behulp van de --horloge vlag, voer de knooppunt commando met de --horloge vlag gevolgd door de naam van het bestand dat u opnieuw wilt starten wanneer Node wijzigingen detecteert.
Beschouw dit codeblok bijvoorbeeld als een server.js bestand:
// server.js
const uitdrukken = vereisen("nadrukkelijk");
const app = uitdrukken();
const POORT = 6060;
app.listen (PORT, () => troosten.log(`App luistert op poort: ${PORT}`));
Voer deze opdracht uit op uw terminal om dit bestand te controleren op wijzigingen en de server opnieuw op te starten wanneer deze zich voordoen:
knooppunt --watch-server
De opdracht zal uw server.js-bestand bekijken en de Node.js-server opnieuw opstarten wanneer er wijzigingen in het bestand worden gedetecteerd.
Het is vermeldenswaard dat deze functie nog steeds experimenteel is, wat betekent dat u problemen kunt ondervinden tijdens het gebruik van de --horloge vlag om uw server opnieuw op te starten.
Andere upgrades en oplossingen
Andere verbeteringen en oplossingen die bij Node.js 19 zijn geleverd, zijn onder andere.
HTTP Keep-Alive standaard
De http/https module's in leven houden optie bepaalt of het een verbinding met een server moet behouden nadat het een verzoek heeft voltooid. Oorspronkelijk zou je de in leven houden optie om WAAR handmatig. Deze optie instrueert de server om de verbinding open te houden en deze opnieuw te gebruiken voor volgende verzoeken.
In Node.js 19, de in leven houden optie is standaard ingesteld op waar. Deze toevoeging zal de overhead van het opzetten van nieuwe verbindingen aanzienlijk verminderen.
Stabilisatie van de WebCrypto API
De WebCrypto API is de implementatie van Node.js van de Web Crypto API-standaard. Met Node.js 19 is de WebCrypto-implementatie nu stabiel, behalve de Ed25519, Ed448, X25519, En X448 algoritmen.
Je hebt toegang tot deze API via de globaalDit module of de knooppunt: voorvoegsel dat Node.js 18 geïntroduceerd om kern Node.js-modules te onderscheiden van bibliotheken van derden.
Bijvoorbeeld:
// knooppunt: voorvoegsel
const crypto = vereisen("knooppunt: crypto");
// globalThis
const webcrypt = globalThis.crypto;
Aangepaste ESM-resolutie-aanpassingen
Node.js 19 verwijdert de eerder experimentele --experimentele-specificatie-resolutie vlag. Dit bood experimentele ondersteuning voor het lokaliseren van bestanden met behulp van pakketspecificaties, vergelijkbaar met hoe ECMAScript modules importeert.
Node.js heeft deze vlag verwijderd omdat u hun functionaliteit kunt repliceren met behulp van aangepaste laders. U kunt aangepaste laders gebruiken om meer module-indelingen te ondersteunen of om modules verder te verwerken voordat ze worden geladen, omdat u hiermee uw unieke logica kunt bieden voor het laden en verwerken van modules.
Verwijdering van DTrace/SystemTap/ETW-ondersteuning
DTrace, SystemTap en ETW (Event Tracing for Windows) zijn modules die dynamische tracering en analyse van actieve programma's bieden. Oorspronkelijk in Node.js, kon je ze gebruiken om gegevens te verzamelen over de activiteit van een applicatie, inclusief prestatie-indicatoren, fouten en andere mogelijke runtime-gebeurtenissen.
In Node.js 19 verwijderde Node.js de ondersteuning voor DTrace, SystemTap en ETW omdat de complexiteit die gepaard gaat met het onderhouden en up-to-date houden van deze modules het nog niet waard is. Dus om prioriteit te geven aan hun middelen, lieten ze de ondersteuning ervoor vallen.
Upgraden naar Node.js 19
Node.js 19 introduceert verschillende functies en verbeteringen die het overwegen waard zijn voor uw toepassing, waaronder de nieuwe horlogemodus, die hierboven is besproken. Om te upgraden naar Node.js 19, gaat u naar de officiële website en downloadt u de huidige versie.