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 tūāpapa Node.js mō te tautoko taha-tūmau o ngā tono tukutuku, me te waihanga hoki i ngā kaupapa whatunga taha-kiritaki me te taha-tūmau paerewa. Hei whakawhānui ake i te mahi a ngā tono Node.js, kua whakaritea he kohinga nui o ngā kōwae, tae atu ki ērā e whakatinana ana i tūmau me ngā kiritaki o HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ngā kōwae hei whakauru ki ngā anga tukutuku maha, ngā kaiwhakahaere WebSocket me Ajax, ngā hononga ki te DBMS (MySQL, PostgreSQL, SQLite, MongoDB), ngā miihini tauira, ngā miihini CSS, ngā whakatinanatanga o ngā rauropi whakamuna me ngā pūnaha whakamanatanga (OAuth), ngā wetewete XML.
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
