Node.js 22.0 inatulutsidwa, nsanja yogwiritsira ntchito maukonde mu JavaScript. Node.js 22.0 imayikidwa ngati nthambi yothandizira nthawi yayitali, koma izi zidzaperekedwa kokha mu October, pambuyo pokhazikika. Node.js 22.x idzathandizidwa mpaka pa Epulo 30, 2027. Kusamalira nthambi yam'mbuyo ya LTS ya Node.js 20.x kudzatha mpaka Epulo 2026, ndipo chaka chatha LTS nthambi 18.x mpaka Epulo 2025. Nthambi yokhazikika ya Node.js 21.x idzayimitsidwa pa June 1, 2024.
Kusintha kwakukulu:
- Injini ya V8 yasinthidwa kukhala 12.4, yogwiritsidwa ntchito ku Chromium 124. Pakati pa zosintha poyerekeza ndi nthambi ya Node.js 21, yomwe inagwiritsa ntchito injini ya V8 11.8), imatchulidwa:
- Kuthandizira kukulitsa kwa WasmGC, komwe kumathandizira kuyika kwa mapulogalamu olembedwa m'zilankhulo zomwe zimagwiritsa ntchito zotayira zinyalala (Kotlin, PHP, Java, etc.) ku WebAssembly. WasmGC imawonjezera mitundu yatsopano yamapangidwe ndi masanjidwe omwe angagwiritse ntchito kugawa kwamakumbukidwe kosagwirizana.
- Thandizo la njira ya Array.fromAsync(), yomwe imabwezeretsa mosasintha chitsanzo chatsopano cha chinthu cha Array chokopera kuchokera ku chinthu chofanana, chotheka kapena chosasinthika.
- Thandizo la njira zobwerezabwereza monga .map, .filter, .find, .take, .drop, .forEach ndi .reduce.
- Kuthandizira kwa Set chinthu chomwe chimatanthawuza zosonkhanitsira zomwe zimafunikira komanso njira zomwe zimatsata zomwe zimachitika wamba, monga mphambano, mgwirizano, kusiyana, ndi kuwonjezera.
- Maglev optimizing JIT compiler imayatsidwa mwachisawawa, yomwe cholinga chake ndi kupanga makina apamwamba kwambiri a JavaScript omwe amagwiritsidwa ntchito kwambiri. Kuthandizira Maglev kumatha kufulumizitsa kwambiri ntchito za CLI zaufupi zomwe sizigwira ntchito nthawi yayitali, mwachitsanzo, nthawi yomaliza mayeso a Jetstrea imachepetsedwa ndi 7.5%, ndi Speedometer test ndi 5%.
- Kugwira ntchito ndi mitsinje kwapititsidwa patsogolo powonjezera mtengo wa njira ya HighWaterMark kuchokera ku 16 KB mpaka 65 KB (kumatanthawuza malire omwe kujambula kumasungidwa). Kusinthaku kumapangitsa kuti kukumbukira kuchuluke, kotero mapulogalamu opangidwa kuti azigwira ntchito pa RAM yochepa angafunikire kubwereranso kumtengo wakale kudzera pa foni ku setDefaultHighWaterMark().
- Kuchita bwino kwa fetch() ndi kuyesa ma API othamanga popangitsa kuti kukhazikika kwa AbortSignal kukhala kothandiza kwambiri. Kuchita kwa ma API okhudzana ndi ntchito yolumikizana ndi mafayilo amafayilo kwasinthidwa.
- Choyeserera chaperekedwa kuti mugwiritse ntchito kuyimba kwa "require()" kuti muyike ma module a JavaScript ESM (ECMAScript Modules) munjira yolumikizana. Ma module a ESM amagwiritsidwa ntchito mu asakatuli ndikusintha ma module a CommonJS okhudzana ndi Node.js. Kuti mutsegule kudzera pa "require()", gawo la ESM liyenera kuchitidwa mwanjira yofananira (popanda kuyembekezera pamlingo wapamwamba). Thandizo limayatsidwa kudzera pa mbendera ya "--experimental-require-module".
- Anawonjezera luso loyesera kuyendetsa zolemba zomwe zafotokozedwa mu fayilo ya package.json pogwiritsa ntchito lamulo la "--run" "
- Lamulo la "node -watch" lasunthidwa ku gulu lokhazikika ndikukhazikitsa mawonekedwe owonera omwe amawonetsetsa kuti ntchitoyi iyambiranso pomwe fayilo yotumizidwa kunja ikusintha (mwachitsanzo, ngati "node -watch index.js" ichitidwa, ndondomeko idzayambikanso yokha index.js ikasintha).
- Kukhazikitsa kwachilengedwe kwa WebSocket API kwakhazikika, kulola WebSocket kuti igwiritsidwe ntchito pamakasitomala popanda kukhazikitsa zodalira zina.
- Thandizo lowonjezera la Navigator API.
- Webstreams API yawonjezera chithandizo cha mawonekedwe a deflate-raw compression.
- Onjezani ntchito za glob ndi globSync ku node: fsmodule yofananira ndi njira zamafayilo.
- Kuwongolera kwabwino kwa masitaki a IPv6 osasinthidwa molakwika. Kukhazikitsidwa kwa Happy Eyeballs algorithm kuti mubweze mwachangu ngati muli ndi vuto ndi IPv6.
- Util API yachotsedwa ntchito.
- Zosinthidwa zodalira: 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 ku 3.8.0, ada 2.7.7 ndi undici 6.6.0. .
Pulatifomu ya Node.js ingagwiritsidwe ntchito pothandizira mapulogalamu apaintaneti kumbali ya seva komanso popanga mapulogalamu wamba a netiweki kumbali ya kasitomala ndi seva. Kuti muwonjezere magwiridwe antchito a mapulogalamu a Node.js, magulu ambiri akonzedwa, kuphatikizapo omwe akugwiritsa ntchito. maseva ndi makasitomala a HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ma module ophatikizana ndi ma web framework osiyanasiyana, WebSocket ndi Ajax handlers, zolumikizira ku DBMS (MySQL, PostgreSQL, SQLite, MongoDB), ma template engine, ma CSS engines, kukhazikitsa ma cryptographic algorithms ndi ma authorization systems (OAuth), ma XML parser.
Kuti athane ndi zopempha zambiri zofanana, Node.js imagwiritsa ntchito njira yofananira yotsatsira ma code potengera kusatsekereza zochitika komanso kufotokozera oyendetsa mafoni. Njira zothandizidwa zolumikizira ma multiplexing zikuphatikiza epoll, kqueue, /dev/poll, ndikusankha. Pakulumikiza kuchulukitsa, laibulale ya libuv imagwiritsidwa ntchito, yomwe ndi chowonjezera ku libev pamakina a Unix ndi ku IOCP pa Windows. Laibulale ya libeio imagwiritsidwa ntchito popanga dziwe la ulusi, ndipo ma c-ares amaphatikizidwa kuti achite mafunso a DNS munjira yosatsekereza. Mafoni onse omwe amayambitsa kutsekereza amachitidwa mkati mwa dziwe la ulusi ndiyeno, monga othandizira ma siginecha, amadutsanso zotsatira za ntchito yawo kudzera pachitoliro chosatchulidwa dzina.
Kuchita kwa JavaScript code kumatsimikiziridwa pogwiritsa ntchito injini ya V8 yopangidwa ndi Google (kuphatikizanso, Microsoft ikupanga Node.js ndi injini ya Chakra-Core). Pachimake, Node.js ndi ofanana ndi Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks ndi kukhazikitsidwa kwa zochitika mu Tcl, koma zochitika zomwe zikuchitika mu Node.js zimabisika kwa wopanga mapulogalamu ndipo zimafanana ndi zochitika pa intaneti. ikuyenda mu msakatuli.
Source: opennet.ru
