Node.js 22.0 te lage, yon platfòm pou kouri aplikasyon rezo nan JavaScript. Node.js 22.0 klase kòm yon branch sipò alontèm, men estati sa a pral plase sèlman nan mwa Oktòb, apre estabilizasyon. Node.js 22.x pral sipòte jiska 30 avril 2027. Antretyen branch LTS anvan Node.js 20.x pral dire jiska avril 2026, ak ane anvan dènye branch LTS 18.x jiska avril 2025. Branch sèn nan Node.js 21.x pral sispann nan dat 1ye jen 2024.
Gwo amelyorasyon:
- Motè V8 la te mete ajou nan vèsyon 12.4, ki itilize nan Chromium 124. Pami chanjman yo konpare ak branch Node.js 21, ki te itilize motè V8 11.8 la), li note:
- Sipò pou ekstansyon WasmGC, ki senplifye pòtaj pwogram ki ekri nan lang pwogram ki sèvi ak yon pèseptè fatra (Kotlin, PHP, Java, elatriye) nan WebAssembly. WasmGC ajoute nouvo kalite estrikti ak etalaj ki ka itilize alokasyon memwa ki pa lineyè.
- Sipò pou metòd Array.fromAsync(), ki asynchrone retounen yon nouvo egzanp yon objè Array kopye soti nan yon objè ki sanble, iterable oswa iterable async.
- Sipò pou metòd iteratè tankou .map, .filter, .find, .take, .drop, .forEach ak .reduce.
- Sipò pou yon objè Set ki defini yon koleksyon valè epi ki ofri metòd ki aplike operasyon seri komen, tankou entèseksyon, sendika, diferans, ak adisyon.
- Se Maglev optimize JIT konpilatè a aktive pa default, ki vize a byen vit jenere kòd machin segondè-pèfòmans pou kòd JavaScript anpil itilize. Pèmèt Maglev ka siyifikativman akselere aplikasyon CLI ki dire kout ki pa fè operasyon alontèm, pou egzanp, tan pou konplete tès Jetstrea a redwi pa 7.5%, ak tès Speedometer la pa 5%.
- Travay ak kouran yo te akselere lè yo ogmante valè opsyon highWaterMark la soti 16 KB rive 65 KB (defini limit jiska ki anrejistreman tanpon). Chanjman an rezilta nan ogmante konsomasyon memwa, kidonk aplikasyon ki fèt pou kouri sou RAM limite ka bezwen retounen nan ansyen valè a atravè yon apèl nan setDefaultHighWaterMark().
- Amelyore pèfòmans fetch() ak API kourè tès yo lè yo fè enstansyasyon AbortSignal pi efikas. Pèfòmans API ki gen rapò ak travay synchrone ak sistèm dosye yo te amelyore.
- Yo bay yon karakteristik eksperimantal pou itilize apèl "require()" pou chaje modil JavaScript ESM (ECMAScript Modules) nan mòd synchrone. Modil ESM yo itilize nan navigatè epi ranplase modil CommonJS espesifik nan Node.js. Pou chaje atravè "mande ()", modil ESM la dwe egzekite nan mòd synchrone (san yo pa tann nan nivo siperyè-a). Sipò pèmèt atravè drapo "--experimental-require-module".
- Te ajoute kapasite eksperimantal pou kouri scripts defini nan fichye package.json la lè l sèvi avèk "--run" kòmandman an "
- Kòmandman "node -watch" la te deplase nan kategori ki estab ak aplikasyon an nan yon mòd gade ki asire ke pwosesis la rekòmanse lè dosye a enpòte chanje (pa egzanp, si "node -watch index.js" egzekite, la. pwosesis la pral rekòmanse otomatikman lè index.js chanje).
- Yo te estabilize aplikasyon natif natal WebSocket API, sa ki pèmèt WebSocket yo dwe itilize nan mòd kliyan san yo pa enstale depandans adisyonèl.
- Te ajoute sipò pasyèl pou API Navigator.
- API Webstreams te ajoute sipò pou fòma konpresyon deflate-raw.
- Te ajoute fonksyon glob ak globSync nan node:fsmomodule pou matche modèl chemen fichye yo.
- Amelyore manyen pil IPv6 mal configuré. Aplike algorithm Happy Eyeballs pou refè rapid nan ka ta gen pwoblèm ak operasyon IPv6.
- API itil la te obsève.
- Mizajou vèsyon depandans: npm 10.5.1, libuv 1.48.0, simdutf 5.2.3, c-ares 1.28.1, zlib 1.3.0.1-motley-24c07df, simdjson pou 3.8.0, ada 2.7.7 ak un.6.6.0dici .
Platfòm Node.js la ka itilize ni pou sipò bò sèvè aplikasyon entènèt yo ni pou kreye pwogram rezo estanda bò kliyan ak bò sèvè. Pou elaji fonksyonalite aplikasyon Node.js yo, yo prepare yon gwo koleksyon modil, ki gen ladan sa yo ki aplike... sèvè yo ak kliyan HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modil pou entegrasyon ak divès kad travay entènèt, jesyonè WebSocket ak Ajax, konektè pou SGBD (MySQL, PostgreSQL, SQLite, MongoDB), motè modèl, motè CSS, aplikasyon algoritm kriptografik ak sistèm otorizasyon (OAuth), analizè XML.
Pou okipe yon gwo kantite demann paralèl, Node.js sèvi ak yon modèl ekzekisyon kòd asynchrone ki baze sou pwosesis evènman ki pa bloke ak defini moun kap okipe apèl. Metòd ki sipòte pou koneksyon multiplexage yo enkli epoll, kqueue, /dev/poll, epi chwazi. Pou koneksyon multiplexing, yo itilize bibliyotèk libuv la, ki se yon sipleman libev sou sistèm Unix ak IOCP sou Windows. Libeio bibliyotèk la itilize pou kreye yon pisin fil, epi c-ares entegre pou fè demann DNS nan yon mòd ki pa bloke. Tout apèl sistèm ki lakòz bloke yo egzekite nan pisin nan fil epi answit, tankou moun kap okipe siyal yo, pase rezilta travay yo tounen nan yon tiyo san non.
Egzekisyon kòd JavaScript asire atravè itilizasyon motè V8 Google devlope (anplis de sa, Microsoft ap devlope yon vèsyon Node.js ak motè Chakra-Core). Nan nwayo li yo, Node.js sanble ak Perl AnyEvent, Ruby Event Machine, Python Twisted kad ak aplikasyon evènman nan Tcl, men bouk evènman an nan Node.js kache nan pwomotè a epi li sanble ak pwosesis evènman nan yon aplikasyon entènèt. kouri nan navigatè a.
Sous: opennet.ru
