I oktober 2022 släppte Node.js sin 19:e version. Det kom sex månader efter lanseringen av Node.js v.18, som innehöll betydande uppgraderingar som den inbyggda testlöpare-modulen.
En anmärkningsvärd funktion i Node.js 19 är det nya och experimentella klockläget. Detta gör att du kan göra ändringar på din server utan att behöva starta om den.
Före Node.js 19 var bevakningsläget endast möjligt med hjälp av tredjepartsbibliotek. Lär dig hur du använder klockläget och utforska andra uppdateringar av Node.js i version 19.
Nodes nya bevakningsläge
Node.js 19 introducerar experimentet --Kolla på flaggan, som startar om en Node.js-server när den upptäcker ändringar i den angivna filen. Du kunde göra detta tidigare med hjälp av ett tredjepartsbibliotek som heter nodemon, men uppdateringen tar bort behovet av ett beroende genom att lägga till dess funktionalitet till Node.js.
För att starta om din Node.js-server med hjälp av --Kolla på flagga, kör nod kommandot med --Kolla på flagga följt av namnet på filen du vill starta om när Node upptäcker ändringar.
Betrakta till exempel detta kodblock som ett server.js fil:
// server.js
konst uttrycka = behöva("uttrycka");
konst app = express();
konst PORT = 6060;
app.lyssna (PORT, () => trösta.logga(`App lyssnar på port: ${PORT}`));
För att se efter ändringar i den här filen och starta om servern när de inträffar, kör det här kommandot på din terminal:
nod --vaktserver
Kommandot kommer att titta på din server.js-fil och starta om Node.js-servern när det upptäcker ändringar som gjorts i filen.
Det är värt att notera att den här funktionen fortfarande är experimentell, vilket innebär att du kan uppleva problem när du använder --Kolla på flagga för att starta om din server.
Andra uppgraderingar och korrigeringar
Andra förbättringar och korrigeringar som följde med Node.js 19 inkluderar följande.
HTTP Keep-Alive som standard
De http/https modulens håll vid liv alternativet styr om den ska behålla en anslutning till en server efter att den har slutfört en begäran. Ursprungligen skulle du behöva ställa in håll vid liv möjlighet att Sann manuellt. Detta alternativ instruerar servern att hålla anslutningen öppen och återanvända den för efterföljande förfrågningar.
I Node.js 19 är håll vid liv alternativet är satt till sant som standard. Detta tillägg kommer avsevärt att minska omkostnaderna för att etablera nya förbindelser.
Stabilisering av WebCrypto API
WebCrypto API är Node.js implementering av Web Crypto API-standarden. Med Node.js 19 är WebCrypto-implementeringen nu stabil, med undantag för Ed25519, Ed448, X25519, och X448 algoritmer.
Du kan komma åt detta API med hjälp av globalt detta modul eller nod: prefix det Node.js 18 introduceras för att skilja node.js kärnmoduler från tredjepartsbibliotek.
Till exempel:
// nod: prefix
konst krypto = behöva("nod: krypto");
// globalThis
konst webcrypt = globalThis.crypto;
Anpassade ESM-upplösningsjusteringar
Node.js 19 tar bort det tidigare experimentella --experimentell-specifikator-upplösning flagga. Detta gav experimentellt stöd för att hitta filer med paketspecifikationer, liknande hur ECMAScript importerar moduler.
Node.js tog bort denna flagga eftersom du kan replikera deras funktionalitet med hjälp av anpassade laddare. Du kan använda anpassade laddare för att stödja fler modulformat eller för att bearbeta moduler ytterligare innan de laddas eftersom de låter dig tillhandahålla din unika logik för att ladda och bearbeta moduler.
Borttagning av DTrace/SystemTap/ETW Support
DTrace, SystemTap och ETW (Event Tracing för Windows) är moduler som erbjuder dynamisk spårning och analys av program som körs. Ursprungligen i Node.js kunde du använda dem för att samla in data om en applikations aktivitet, inklusive prestandaindikatorer, fel och andra möjliga körtidsförekomster.
I Node.js 19 tog Node.js bort stödet för DTrace, SystemTap och ETW eftersom komplexiteten i att underhålla och hålla dessa moduler uppdaterade ännu inte är värt det. Så, för att prioritera sina resurser, tappade de stödet för dem.
Uppgradering till Node.js 19
Node.js 19 introducerar olika funktioner och förbättringar som är värda att överväga för din applikation, inklusive det nya klockläget, bland annat diskuterat ovan. För att uppgradera till Node.js 19, gå till den officiella webbplatsen och ladda ner den aktuella versionen.