Àrd-ùrlar JavaScript Node.js 22.0.0 ri fhaighinn

Chaidh Node.js 22.0 a leigeil ma sgaoil, àrd-ùrlar airson tagraidhean lìonra a ruith ann an JavaScript. Tha Node.js 22.0 air a chomharrachadh mar mheur taic fad-ùine, ach cha tèid an inbhe seo a shònrachadh ach san Dàmhair, às deidh a bhith seasmhach. Gheibh Node.js 22.x taic gu 30 Giblean, 2027. Mairidh cumail suas a’ mheur LTS roimhe de Node.js 20.x chun Ghiblean 2026, agus a’ bhliadhna ron mheur LTS mu dheireadh 18.x chun Ghiblean 2025. Thèid am meur stèidse de Node.js 21.x a stad air 1 Ògmhios, 2024.

Prìomh leasachaidhean:

  • Chaidh an einnsean V8 ùrachadh gu dreach 12.4, air a chleachdadh ann an Chromium 124. Am measg nan atharrachaidhean an taca ri meur Node.js 21, a chleachd an einnsean V8 11.8), thathas a’ toirt fa-near:
    • Taic airson leudachadh WasmGC, a bhios a’ sìmpleachadh giùlain phrògraman sgrìobhte ann an cànanan prògramaidh a bhios a’ cleachdadh neach-cruinneachaidh sgudail (Kotlin, PHP, Java, msaa) gu WebAssembly. Bidh WasmGC a’ cur seòrsaichean ùra de structaran agus rèilichean ris as urrainn riarachadh cuimhne neo-shreathach a chleachdadh.
    • Taic don dòigh Array.fromAsync(), a bhios gu neo-chinnteach a’ tilleadh eisimpleir ùr de nì Array air a chopaigeadh bho nì a tha coltach ri array, a ghabhas ath-aithris no a sioncranachadh.
    • Taic airson modhan iterator leithid .map, .filter, .find, .take, .drop, .forEach agus .reduce.
    • Taic do nì Set a tha a’ mìneachadh cruinneachadh de luachan agus a’ tabhann dhòighean a chuireas an gnìomh obrachaidhean seata cumanta, leithid eadar-ghearradh, aonadh, eadar-dhealachadh, agus cur-ris.
  • Tha an inneal-cruinneachaidh Maglev optimizing JIT air a chomasachadh gu bunaiteach, ag amas air còd inneal àrd-choileanadh a ghineadh gu sgiobalta airson còd JavaScript air a chleachdadh gu mòr. Le bhith a’ comasachadh Maglev faodaidh e luathachadh mòr a dhèanamh air tagraidhean CLI geàrr-ùine nach bi a’ coileanadh gnìomhachd fad-ùine, mar eisimpleir, tha an ùine airson deuchainn Jetstrea a chrìochnachadh air a lughdachadh 7.5%, agus an deuchainn Speedometer 5%.
  • Tha obair le sruthan air a luathachadh le bhith ag àrdachadh luach an roghainn highWaterMark bho 16 KB gu 65 KB (a’ mìneachadh a’ chrìoch suas gu bheil clàradh air a bufair). Bidh an t-atharrachadh a’ leantainn gu barrachd caitheamh cuimhne, agus mar sin is dòcha gum feum tagraidhean a tha air an dealbhadh airson ruith air RAM cuibhrichte tilleadh chun t-seann luach tro ghairm gu setDefaultHighWaterMark ().
  • Coileanadh nas fheàrr de na APIan fetch () agus ruitheadair deuchainn le bhith a’ dèanamh sa bhad AbortSignal nas èifeachdaiche. Chaidh coileanadh APIan co-cheangailte ri obair sioncronaich le siostaman faidhle a leasachadh.
  • Chaidh feart deuchainneach a thoirt seachad gus a’ ghairm “require()” a chleachdadh gus modalan JavaScript ESM (Modalan ECMScript) a luchdachadh ann am modh sioncronaich. Bithear a’ cleachdadh mhodalan ESM ann am brobhsairean agus bidh iad a’ dol an àite mhodalan CommonJS a tha sònraichte do Node.js. Gus luchdachadh tro “require()”, feumaidh am modal ESM a bhith air a chuir gu bàs ann am modh sioncronaich (gun feitheamh ris an ìre as àirde). Tha taic air a chomasachadh tron ​​​​bhratach “--experimental-require-module”.
  • Comas deuchainneach air a chur ris gus sgriobtaichean a ruith a tha air am mìneachadh anns an fhaidhle package.json a’ cleachdadh an àithne “--run”. "
  • Chaidh an àithne “node -watch” a ghluasad chun roinn stàbaill le buileachadh modh faire a nì cinnteach gun tèid am pròiseas ath-thòiseachadh nuair a dh’ atharraicheas am faidhle a chaidh a thoirt a-steach (mar eisimpleir, ma thèid “node -watch index.js” a chuir gu bàs, an thèid am pròiseas ath-thòiseachadh gu fèin-ghluasadach nuair a dh’ atharraicheas index.js).
  • Chaidh buileachadh dùthchasach WebSocket API a dhèanamh seasmhach, a’ leigeil le WebSocket a chleachdadh ann am modh teachdaiche gun a bhith a’ stàladh eisimeileachd a bharrachd.
  • Chaidh taic phàirteach a chur ris airson an Navigator API.
  • Tha an Webstreams API air taic a chuir ris a’ chruth teannachaidh deflate-raw.
  • Chaidh gnìomhan glob agus globSync a chur ris an nód: fsmodule airson maidseadh pàtran de shlighean faidhle.
  • Làimhseachadh nas fheàrr air stacan IPv6 a chaidh an rèiteachadh gu ceàrr. Algorithm Happy Eyeballs air a chuir an gnìomh airson gluasad air ais gu sgiobalta gun fhios nach bi duilgheadasan ann le gnìomhachd IPv6.
  • Cha deach an util API a mholadh.
  • Tionndaidhean eisimeileachd ùraichte: 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 gu 3.8.0, ada 2.7.7 agus undici. .

Faodar àrd-ùrlar Node.js a chleachdadh airson taic taobh an fhrithealaiche do thagraidhean lìn agus airson prògraman lìonra àbhaisteach taobh an neach-dèiligidh agus an fhrithealaiche a chruthachadh. Gus comas-gnìomh thagraidhean Node.js a leudachadh, chaidh cruinneachadh mòr de mhodalan ullachadh, nam measg an fheadhainn a bhios a’ cur an gnìomh frithealaichean agus luchd-dèiligidh HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modalan airson amalachadh le diofar fhrèamaichean lìn, luchd-làimhseachaidh WebSocket agus Ajax, luchd-ceangail ri DBMS (MySQL, PostgreSQL, SQLite, MongoDB), einnseanan teamplaidean, einnseanan CSS, buileachadh algairidhean crioptagrafach agus siostaman ùghdarrais (OAuth), parsairean XML.

Gus dèiligeadh ri àireamhan mòra de dh’ iarrtasan co-shìnte, bidh Node.js a’ cleachdadh modal cur an gnìomh còd asyncronach stèidhichte air giullachd tachartais gun bhacadh agus a’ mìneachadh luchd-làimhseachaidh fios air ais. Tha dòighean le taic airson ceanglaichean ioma-fhillte a’ toirt a-steach epoll, kqueue, / dev/ poll, agus tagh. Airson iomadachadh ceangail, thathas a’ cleachdadh an leabharlann libuv, a tha na chur-ris gu libev air siostaman Unix agus gu IOCP air Windows. Tha an leabharlann libeio air a chleachdadh gus amar snàithlean a chruthachadh, agus tha c-ares amalaichte gus ceistean DNS a dhèanamh ann am modh gun bhacadh. Bidh a h-uile gairm siostam a dh’ adhbharaicheas bacadh air a chuir gu bàs taobh a-staigh an amar snàithlean agus an uairsin, mar làimhseachadh chomharran, a’ dol seachad air toradh an cuid obrach air ais tro phìob gun ainm.

Thathas a ’dèanamh cinnteach à coileanadh còd JavaScript tro bhith a’ cleachdadh an einnsean V8 a chaidh a leasachadh le Google (a bharrachd air an sin, tha Microsoft a ’leasachadh dreach de Node.js leis an einnsean Chakra-Core). Aig a chridhe, tha Node.js coltach ris an Perl AnyEvent, Inneal Tachartas Ruby, frèaman Python Twisted agus buileachadh thachartasan ann an Tcl, ach tha lùb an tachartais ann an Node.js falaichte bhon leasaiche agus tha e coltach ri giullachd tachartais ann an tagradh lìn a 'ruith ann am brabhsair.

Source: fosgailtenet.ru

Cuir beachd ann