Node.js 24.0.0 har slÀppts

Node.js 24.0.0 har slÀppts, plattformen för att köra nÀtverksapplikationer i JavaScript. Node.js 24.0 klassas som en version med lÄngsiktig support, men denna status kommer att tilldelas först i oktober, efter stabilisering. Stödet för Node.js 24.x kommer att pÄgÄ till den 30 april 2028. UnderhÄll av den tidigare LTS-versionen Node.js 22.x kommer att pÄgÄ till april 2027, och den föregÄende LTS-versionen 20.x till april 2026. UnderhÄllet av LTS-versionen 18.x avslutades den 30 april 2025, och för den interimistiska versionen Node.js 23.x avslutas det den 1 juni 2025.

Huvudsakliga förbÀttringar:

  • I API:et AsyncLocalStorage anvĂ€nds nu klassen AsyncContextFrame som standard, vilken Ă€r markerad som stabil. AsyncContextFrame implementerar en mer effektiv mekanism för att spĂ„ra asynkront sammanhang, vilket avsevĂ€rt ökar prestandan.
  • API:et URLPattern Ă€r nu tillgĂ€ngligt som ett globalt objekt som kan anvĂ€ndas utan uttrycklig importering. URLPattern erbjuder funktioner för att matcha en URL mot ett visst mönster, vilket exempelvis kan tillĂ€mpas för att analysera lĂ€nkar.
  • Mekanismen för Permission Model har förbĂ€ttrats och stabiliserats, vilket gör det möjligt att begrĂ€nsa Ă„tkomst till vissa resurser under körning (till exempel kan man förbjuda skapande av barnprocesser, begrĂ€nsa skriv- eller lĂ€sĂ„tkomst till vissa delar av filsystemet, eller stĂ€nga av tillĂ€gg). IstĂ€llet för det experimentella flaggan '—experimental-permission' för att aktivera Permission Model kan man nu anvĂ€nda flaggan '—permission'.
  • Möjligheterna för modulen node:test (test_runner), som Ă€r avsedd för att skapa och köra tester i JavaScript som returnerar resultat i TAP-format (Test Anything Protocol), har utökats. Modulen vĂ€ntar nu automatiskt pĂ„ att inbĂ€ddade tester skall slutföras utan att anvĂ€nda await.
  • HTTP-klienten undici har uppdaterats till version 7.x, vilket förbĂ€ttrar prestandan och lĂ€gger till stöd för nya HTTP-funktioner.
  • Motorn V8 har uppdaterats till version 13.6, som anvĂ€nds i Chromium 136. Bland de nya funktionerna jĂ€mfört med den föregĂ„ende Node.js-versionen finns stöd för typade arrayer Float16Array, manuell resursförvaltning, metoden RegExp.escape (escapear strĂ€ngar för RegExp), 64-bitars pekare (Memory64) i WebAssembly, och metoden Error.isError.
  • Paketchefen NPM har uppdaterats till version 11.
  • Stödet för MSVC-kompilatorn har upphört. För kompilering pĂ„ Windows-plattformen mĂ„ste ClangCL anvĂ€ndas.

Node.js-plattformen kan anvÀndas bÄde för serverhantering av webapplikationer och för att skapa vanliga klient- och servernÀtverksprogram. För att utöka funktionaliteten för Node.js-applikationer har en stor samling moduler tagits fram, dÀr man kan finna moduler med implementeringar. servrar och kunder för HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, moduler för integration med olika webbramverk, WebSocket- och Ajax-hanterare, anslutare till databaser (MySQL, PostgreSQL, SQLite, MongoDB), mallmotorer, CSS-motorer, implementationer av kryptalgoritmer och auktorisationssystem (OAuth), XML-parserare.

För att hantera ett stort antal parallella förfrÄgningar anvÀnder Node.js en asynkron kodexekveringsmodell baserad pÄ hÀndelsebehandling i icke-blockerande lÀge och definiering av callback-hanterare. Metoder som epoll, kqueue, /dev/poll och select stöds som sÀtt att multiplexera anslutningar. För multiplexering av anslutningar anvÀnds biblioteket libuv, som Àr ett lager över libev i Unix-system och över IOCP i Windows. För att skapa en trÄdpool anvÀnds biblioteket libeio, och för att utföra DNS-förfrÄgningar i icke-blockerande lÀge Àr c-ares integrerat. Alla systemanrop som orsakar blockering utförs inom trÄdpoolen och överför sedan, liksom signalhanterare, resultaten av sitt arbete tillbaka via en namnlös kanal (pipe).

Utförandet av JavaScript-kod sÀkerstÀlls genom anvÀndning av V8-motorn utvecklad av Google (dessutom utvecklar Microsoft en variant av Node.js med Chakra-Core-motorn). I sin kÀrna liknar Node.js ramverken Perl AnyEvent, Ruby Event Machine, Python Twisted och hÀndelseimplementeringen i Tcl, men hÀndelsebehandlingsloopen i Node.js Àr dold för utvecklaren och pÄminner om hÀndelsehantering i en webapplikation som körs i en webblÀsare.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster