Node.js 22.0 yakaburitswa, chikuva chekushandisa network application muJavaScript. Node.js 22.0 inorondedzerwa sebazi rekutsigira kwenguva refu, asi chimiro ichi chichagoverwa munaOctober chete, mushure mekudzikamisa. Node.js 22.x ichatsigirwa kusvika Kubvumbi 30, 2027. Kuchengetwa kwebazi reLTS rapfuura reNode.js 20.x richagara kusvika Kubvumbi 2026, uye gore risati rapfuura LTS bazi 18.x kusvika Kubvumbi 2025. Bazi rekuita reNode.js 21.x richamiswa musi waChikumi 1, 2024.
Mabhindauko makuru:
- Injini yeV8 yakagadziridzwa kune shanduro 12.4, yakashandiswa muChromium 124. Pakati pekuchinja kwakaenzaniswa nebazi reNode.js 21, iro rakashandisa injini yeV8 11.8), inonzi:
- Tsigiro yekuwedzera kweWasmGC, iyo inorerutsa kutakurwa kwezvirongwa zvakanyorwa mumitauro yekuronga inoshandisa muunganidzi wemarara (Kotlin, PHP, Java, nezvimwewo) kuWebAssembly. WasmGC inowedzera mhando nyowani dzezvimiro uye arrays anogona kushandisa isiri-mutsara ndangariro yekugovera.
- Tsigiro yeArray.fromAsync() nzira, iyo asynchronously inodzorera chiitiko chitsva cheArray chinhu chakakopwa kubva kune array-like, iterable kana async iterable chinhu.
- Tsigiro yenzira dze iterator dzakadai se.map, .filter, .tsvaga, .take, .drop, .forEach uye .reduce.
- Tsigiro yeSeti chinhu chinotsanangura muunganidzwa wezvakakosha uye zvinopa nzira dzinoita zvakajairika seti mashandiro, akadai semharadzano, mubatanidzwa, mutsauko, uye kuwedzera.
- Iyo Maglev optimizing JIT compiler inogoneswa nekusarudzika, ine chinangwa chekukurumidza kugadzira yakakwirira-inoshanda muchina kodhi yeanonyanya kushandiswa JavaScript kodhi. Kugonesa Maglev kunogona kukurumidza kukurumidzira kwenguva pfupi CLI zvikumbiro zvisingaite mashandiro enguva refu, semuenzaniso, nguva yekupedzisa bvunzo yeJetstrea inoderedzwa ne7.5%, uye Speedometer bvunzo ne5%.
- Kushanda nehova kwakakwidziridzwa nekuwedzera kukosha kweiyo highWaterMark sarudzo kubva pa16 KB kusvika pa65 KB (inotsanangura muganho wekuti kurekodha kunovharirwa). Shanduko iyi inokonzeresa kuwedzera kushandiswa kwendangariro, saka maapplication akagadzirirwa kushanda pane shoma RAM angangoda kudzokera kune yekare kukosha kuburikidza nekufona ku setDefaultHighWaterMark().
- Kuvandudza kuita kwekutora () uye bvunzo mumhanyi maAPI nekuita kuti AbortSignal instantiation inyatsoita. Kuitwa kwema API ane chekuita nebasa resynchronous nemafaira masisitimu akagadziridzwa.
- Chiyedzo chakapihwa kuti ushandise iyo "inoda()" kufona kurodha JavaScript ESM modules (ECMAScript Modules) musynchronous mode. ESM modules anoshandiswa mumabhurawuza uye anotsiva CommonJS modules akananga kuNode.js. Kurodha kuburikidza ne "require ()", iyo ESM module inofanirwa kuitiswa musynchronous mode (isina kumirira padanho repamusoro). Tsigiro inogoneswa kuburikidza ne "--experimental-require-module" mureza.
- Yakawedzera kugona kuyedza kumhanyisa zvinyorwa zvinotsanangurwa mupakeji.json faira uchishandisa "--run" murairo. "
- Murairo we "node -watch" waendeswa kune yakagadzikana chikamu nekuitwa kwewachi modhi inova nechokwadi chekuti maitiro anotangazve kana iyo inotengeswa faira yachinja (semuenzaniso, kana "node -watch index.js" yaitwa, iyo maitiro anozotangwa patsva kana index.js yachinja).
- Kuitwa kwekutanga kweWebSocket API kwakagadzikana, zvichibvumira WebSocket kuti ishandiswe mumhando yevatengi pasina kuisa mamwe marevisheni.
- Yakawedzera tsigiro yechikamu cheNavigator API.
- Iyo Webstreams API yakawedzera rutsigiro rweiyo deflate-raw compression fomati.
- Yakawedzera glob uye globSync mabasa kune node: fsmodule yekufananidza nzira dzefaira.
- Mabatirwo akaitwa zvisizvo zveIPv6 stacks. Yakamisikidzwa Happy Eyeballs algorithm yekukurumidza kudzoreredza kana paine matambudziko ne IPv6 mashandiro.
- Iyo util API yakaregwa.
- Yakagadziridzwa kutsamira shanduro: 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 kusvika 3.8.0, ada 2.7.7 uye undici 6.6.0. .
Chikuva cheNode.js chinogona kushandiswa kutsigira mawebhusaiti ese ari maviri pamwe nekugadzira mapurogiramu enetwork evatengi nemaseva. Kuti zviwedzere kushanda kwemapurogiramu eNode.js, muunganidzwa wakakura wemamodule wakagadzirwa, kusanganisira ayo ari kuita. servers uye vatengi veHTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, mamodule ekubatanidza nehurongwa hwakasiyana-siyana hwewebhu, WebSocket neAjax handlers, connectors kuDBMS (MySQL, PostgreSQL, SQLite, MongoDB), mainjini etemplate, mainjini eCSS, mashandisirwo e cryptographic algorithms uye masisitimu ekubvumidza (OAuth), XML parsers.
Kubata nhamba huru yezvikumbiro zvakafanana, Node.js inoshandisa asynchronous code execution modhi yakavakirwa pane isiri-kuvhara chiitiko kugadzirisa uye kutsanangura callback vanobata. Nzira dzinotsigirwa dzekubatanidza kuwanda dzinosanganisira epoll, kqueue, /dev/poll, uye sarudza. Nekubatanidza kuwanda, raibhurari ye libuv inoshandiswa, inova yekuwedzera kune libev pane Unix masisitimu uye kuIOCP paWindows. Raibhurari yelibeio inoshandiswa kugadzira dziva reshinda, uye c-ares inosanganiswa kuita mibvunzo yeDNS mune isiri-blocking mode. Yese inofona system inokonzeresa kuvharika inouraiwa mukati medziva reshinda uyezve, sevabati vechiratidzo, vanopfuudza mhedzisiro yebasa ravo kuburikidza nepombi isina kutaurwa zita.
Kuitwa kweJavaScript code kunovimbiswa kuburikidza nekushandiswa kweV8 injini yakagadzirwa neGoogle (nekuwedzera, Microsoft iri kugadzira shanduro yeNode.js neChakra-Core injini). Pakati payo, Node.js yakafanana nePerl AnyEvent, Ruby Event Machine, Python Twisted frameworks uye kushandiswa kwezviitiko muTcl, asi chiitiko chechiitiko muNode.js chakavanzwa kubva kumugadziri uye chakafanana nekugadzirisa chiitiko muwebhu web application. inoshanda mubrowser.
Source: opennet.ru
