Kei te waatea te turanga JavaScript Node.js 22.0.0

I tukuna a Node.js 22.0, he papa mo te whakahaere i nga tono whatunga i roto i te JavaScript. Node.js 22.0 kua whakarōpūtia hei peka tautoko mo te wa roa, engari ko tenei mana ka tohua hei te Oketopa anake, i muri i te whakapumautanga. Ka tautokohia a Node.js 22.x tae noa ki te Paenga-whāwhā 30, 2027. Ko te tiaki i te peka LTS o mua o Node.js 20.x ka mau ki Paenga-whawha 2026, me te tau i mua i te peka LTS whakamutunga 18.x ki Paenga-whawha 2025. Ka whakakorehia te peka whakaari o Node.js 21.x i te Pipiri 1, 2024.

Nga whakapainga matua:

  • Ko te miihini V8 kua whakahoutia ki te putanga 12.4, i whakamahia i roto i te Chromium 124. I roto i nga huringa i whakaritea ki te peka Node.js 21, i whakamahia te miihini V8 11.8), kua tuhia:
    • Tautoko mo te toronga WasmGC, e whakamaarama ana i te tauranga o nga kaupapa kua tuhia ki nga reo whakamaoritanga e whakamahi ana i te kaikohi paru (Kotlin, PHP, Java, me etahi atu) ki te WebAssembly. Ka taapirihia e WasmGC nga momo hanganga me nga rarangi ka taea te whakamahi i te tohatoha mahara kore-raina.
    • Tautoko mo te tikanga Array.fromAsync(), e whakahoki tukutahi ana he tauira hou o te ahanoa Huanga i kapehia mai i te ahanoa-ahua-ahua, iterable, async iterable ahanoa.
    • Tautoko mo nga tikanga tukurua penei i te .map, .filter, .find, .take, .drop, .forEach and .reduce.
    • Tautoko mo te ahanoa Tautuhi e tautuhi ana i te kohinga o nga uara me te tuku tikanga e whakatinana ana i nga mahi huinga noa, penei i te whitinga, te uniana, te rereketanga, me te taapiri.
  • Ko te Kaihanga JIT e arotau ana ki a Maglev kua whakahohea ma te taunoa, e whai ana ki te whakaputa tere i te waehere miihini mahi teitei mo te waehere JavaScript kua whakamahia nuitia. Ko te whakahohe i te Maglev ka taea te tere ake i nga tono CLI poto e kore e mahi i nga mahi mo te wa roa, hei tauira, ko te wa ki te whakaoti i te whakamatautau Jetstrea ka whakahekehia e te 7.5%, me te whakamatautau Speedometer e 5%.
  • Kua whakaterehia te mahi me nga awa ma te whakanui ake i te uara o te kowhiringa HighWaterMark mai i te 16 KB ki te 65 KB (whakaahua te tepe ki runga i te rekoata ka paopao). Ko te huringa ka nui ake te kai mahara, no reira ko nga tono i hangaia hei whakahaere i runga i te RAM iti ka hiahia pea ki te hoki ki te uara tawhito ma te waea ki te setDefaultHighWaterMark().
  • Kua pai ake te mahi o te tiki() me nga API kaiwhaiwhakamatautau ma te pai ake o te whakamohiotanga AbortSignal. Kua pai ake te mahinga o nga API e pa ana ki nga mahi tukutahi me nga punaha konae.
  • Kua whakaratohia he waahanga whakamatautau ki te whakamahi i te waea "hiahia()" ki te uta i nga waahanga JavaScript ESM (ECMAScript Modules) i roto i te aratau tukutahi. Ka whakamahia nga waahanga ESM ki nga kaitirotiro me te whakakapi i nga waahanga CommonJS motuhake mo Node.js. Hei uta ma te "hiahia ()", me mahi te kōwae ESM i roto i te aratau tukutahi (kaore e tatari ki te taumata o runga). Ka taea te tautoko ma te haki "--whakamatautau-me-kowae".
  • Kua taapirihia te kaha whakamatautau ki te whakahaere i nga tuhinga kua tautuhia ki te konae package.json ma te whakamahi i te tono "--run". "
  • Ko te whakahau "node -watch" kua nekehia ki te waahanga pumau me te whakatinanatanga o te aratau mataaratanga e whakarite ana ka timata ano te tukanga ina huri te konae kawemai (hei tauira, mena ka mahia te "node -watch index.js", te ka timata ano te tukanga ina huri te index.js).
  • Ko te whakatinanatanga taketake o te WebSocket API kua whakapumautia, ka taea te whakamahi a WebSocket ki te aratau kiritaki me te kore e whakauru i etahi atu taapiri.
  • Kua taapirihia he waahanga tautoko mo te Navigator API.
  • Kua taapirihia e te Webstreams API te tautoko mo te whakatakotoranga deflate-raw compression.
  • Kua taapirihia nga mahi glob me te globSync ki te node:fsmodule mo te whakataurite tauira o nga ara konae.
  • Kua pai ake te whakahaere o nga puranga IPv6 kua hē te whirihora. I whakatinanahia te Hatepee Matapihi harikoa mo te hokinga tere inaa he raru ki te mahi IPv6.
  • Kua whakakorehia te API whakamahi.
  • Ko nga putanga whakawhirinaki kua whakahoutia: 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 ki 3.8.0, ada 2.7.7 me te undici 6.6.0 .

Ka taea te whakamahi i te turanga Node.js mo te tiaki tūmau o nga tono Tukutuku me te hanga i nga papatono whatunga kiritaki me te tūmau. Hei whakawhānui ake i te mahinga o nga tono mo Node.js, kua rite te kohinga nui o nga waahanga, ka kitea e koe nga waahanga me te whakatinanatanga o te HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 tūmau me nga kiritaki, kōwae mo te whakauru. me nga momo angamahi tukutuku, WebSocket me Ajax kaihautu , DBMS tūhonohono (MySQL, PostgreSQL, SQLite, MongoDB), templating engines, CSS engines, whakatinanatanga o crypto algorithms me nga punaha whakamana (OAuth), XML parser.

Hei hapai i te maha o nga tono whakarara, ka whakamahi a Node.js i tetahi tauira mahi waehere tukutahi i runga i te tukatuka takahanga kore-aukati me te tautuhi i nga kaikawe waea hoki. Ko nga tikanga e tautokohia ana mo nga hononga maha ko te epoll, kqueue, /dev/poll, me te kowhiri. Ki nga hononga maha, ka whakamahia te whare pukapuka libuv, he taapiri ki te libev i runga i nga punaha Unix me te IOCP i runga Windows. Ka whakamahia te whare pukapuka libeio ki te hanga i tetahi puna miro, ka whakauruhia nga c-ares ki te mahi i nga patai DNS i roto i te aratau aukati-kore. Ko nga waea punaha katoa e arai ana ka mahia ki roto i te puna miro, katahi ano ka rite ki nga kaikawe tohu, ka whakahoki i te hua o a raatau mahi ma te paipa kore ingoa.

Ma te whakamahi i te miihini V8 i whakawhanakehia e Google (i tua atu, kei te whakawhanake a Microsoft i tetahi putanga o Node.js me te miihini Chakra-Core). I tona kaupapa, he rite a Node.js ki te Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks me te whakatinanatanga o nga huihuinga i Tcl, engari ko te takahanga takahanga i Node.js kei te huna mai i te kaiwhakawhanake me te rite ki te tukatuka kaupapa i roto i te tono tukutuku. rere i roto i te pūtirotiro.

Source: opennet.ru

Tāpiri i te kōrero