A tọhapụrụ Node.js 22.0, ikpo okwu maka ịgba ọsọ ngwa netwọkụ na Javascript. Node.js 22.0 bụ nkewa dị ka ngalaba nkwado ogologo oge, mana a ga-ekenye ọkwa a naanị na Ọktoba, mgbe emechara ya. A ga-akwado Node.js 22.x ruo Eprel 30, 2027. Nlekọta nke ngalaba LTS gara aga nke Node.js 20.x ga-adịru ruo Eprel 2026, yana afọ tupu alaka LTS ikpeazụ 18.x ruo Eprel 2025. A ga-akwụsị ngalaba nhazi nke Node.js 21.x na June 1, 2024.
Isi nkwalite:
- Emelitere engine V8 ka ọ bụrụ ụdị 12.4, nke ejiri na Chromium 124. N'ime mgbanwe ndị a tụnyere alaka Node.js 21, nke jiri V8 11.8 engine), ekwuru:
- Nkwado maka ndọtị WasmGC, nke na-eme ka mbubata mmemme edere n'asụsụ mmemme nke na-eji mkpofu ahịhịa (Kotlin, PHP, Java, wdg) gaa na WebAssembly. WasmGC na-agbakwụnye ụdị ihe owuwu ọhụrụ na arrays nwere ike iji oke ebe nchekwa na-abụghị linear.
- Nkwado maka usoro Array.fromAsync(), nke na-eweghachite ihe atụ ọhụrụ nke ihe Array e depụtaghachiri site na ihe array-like, ierable or assync iterable.
- Nkwado maka usoro iterator dị ka .map, .filter, .chọta, .were, .dobe, .maka onye ọ bụla na .belata.
- Nkwado maka ihe Set nke na-akọwa nchịkọta ụkpụrụ ma na-enye ụzọ na-emejuputa atumatu a na-emekarị, dị ka njikọ, njikọ, ọdịiche, na mgbakwunye.
- A na-akwado Maglev na-ebuli JIT compiler site na ndabara, iji wepụta koodu igwe dị elu ngwa ngwa maka koodu Javascript ejirila nke ukwuu. Ịkwado Maglev nwere ike ime ngwa ngwa ngwa CLI dị mkpụmkpụ nke na-adịghị arụ ọrụ ogologo oge, dịka ọmụmaatụ, oge iji mezue ule Jetstrea na-ebelata site na 7.5%, na ule Speedometer site na 5%.
- A kwalitela ọrụ na iyi site n'ịbawanye uru nke nhọrọ highWaterMark site na 16 KB ruo 65 KB (na-akọwa oke nke echekwabara ndekọ). Mgbanwe a na-ebute mmụba ebe nchekwa oriri, yabụ ngwa emebere ka ọ na-agba na RAM nwere oke nwere ike ịlaghachi na uru ochie site na oku setDefaultHighWaterMark().
- Arụmọrụ emelitere nke mbute () na nwale API ndị na-agba ọsọ site na ime ka AbortSignal ntabi anya rụọ ọrụ nke ọma. Arụmọrụ API metụtara arụkọ ọrụ ọnụ na sistemu faịlụ ka emelitere.
- Enyerela njirimara nnwale ka ijiri oku "require()" iji wụnye Javascript ESM modul (ECMAScript Modules) na ọnọdụ mmekọrịta. A na-eji modul ESM na ihe nchọgharị ma dochie modul CommonJS kpọmkwem maka Node.js. Iji buo ya site na "chọrọ ()", modul ESM ga-emerịrị na ọnọdụ mmekọrịta (na-echeghị na ọkwa dị elu). A na-akwado nkwado site na ọkọlọtọ "--experimental-require-modul".
- Ike nnwale agbakwunyere iji mee ederede akọwapụtara na faịlụ ngwugwu.json site na iji iwu "--run". "
- Ebugharịla iwu "node -watch" na ngalaba kwụsiri ike na mmejuputa usoro elekere nke na-eme ka usoro ahụ maliteghachi mgbe faịlụ ebubatara gbanwere (dịka ọmụmaatụ, ọ bụrụ na e gburu "node -watch index.js", usoro ga-amalite na-akpaghị aka mgbe index.js gbanwere).
- Emeela ka mmejuputa iwu nke WebSocket API guzosie ike, na-enye ohere iji WebSocket mee ihe na ọnọdụ ndị ahịa na-etinyeghị ihe ndabere ndị ọzọ.
- Nkwado akụkụ agbakwunyere maka API Navigator.
- API Webstreams agbakwunyela nkwado maka usoro mkpakọ nke adịghị arụ ọrụ.
- Agbakwunyere ọrụ glob na globSync na node:fsmodule maka ndakọrịta ụkpụrụ nke ụzọ faịlụ.
- Ijikwa ngwugwu IPv6 emeziri ezighi ezi. Algorithm Anya Obi Ụtọ etinyere n'ọrụ maka nlọghachi ngwa ngwa ma ọ bụrụ na enwere nsogbu na arụmọrụ IPv6.
- Akwụsịla util API.
- Ụdị ndabere emelitere: 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 ruo 3.8.0, ada 2.7.7 na u. .
Enwere ike iji ikpo okwu Node.js ma maka nkwado sava nke ngwa weebụ yana maka ịmepụta mmemme netwọk ndị ahịa na sava ọkọlọtọ. Iji gbasaa ọrụ nke ngwa Node.js, a kwadebela nnukwu nchịkọta modulu, gụnyere ndị na-emejuputa. sava na ndị ahịa nke HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modulu maka ijikọ na usoro weebụ dị iche iche, ndị na-ejikwa WebSocket na Ajax, ndị na-ejikọ na DBMS (MySQL, PostgreSQL, SQLite, MongoDB), injin template, injin CSS, mmejuputa algọridim cryptographic na sistemụ ikike (OAuth), ndị na-akọwa XML.
Iji jikwaa ọnụ ọgụgụ buru ibu nke arịrịọ ndị yiri ya, Node.js na-eji ụdị mmebe koodu asynchronous dabere na nhazi mmemme anaghị egbochi yana ịkọwa ndị njikwa oku. Ụzọ ndị akwadoro maka njikọta multiplexing gụnyere epoll, kqueue, /dev/poll, wee họrọ. Maka njikọta multiplexing, a na-eji ọba akwụkwọ libuv, nke bụ mgbakwunye na libev na sistemụ Unix yana IOCP na Windows. A na-eji ọba akwụkwọ libeio mepụta ọdọ mmiri eri, yana c-ares jikọtara ya iji mee ajụjụ DNS na ọnọdụ anaghị egbochi. A na-egbu oku sistemu niile na-akpata igbochi n'ime ọdọ mmiri eri ahụ wee, dị ka ndị na-ahụ maka mgbama, gafere nsonaazụ ọrụ ha site na ọkpọkọ akpọghị aha.
A na-ahụta mmezu nke koodu Javascript site na iji igwe V8 nke Google mepụtara (na mgbakwunye, Microsoft na-emepụta ụdị Node.js na injin Chakra-Core). Na isi ya, Node.js yiri Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks na mmejuputa ihe omume na Tcl, ma ihe omume na Node.js zoro ezo site na onye mmepụta ma yie nhazi ihe omume na ngwa weebụ. na-agba ọsọ na ihe nchọgharị.
isi: opennet.ru
