Node.js 23.0.0, he papa mo te whakahaere i nga tono whatunga i roto i te JavaScript, kua tukuna. Node.js 23.0 kua whakarōpūtia hei peka takawaenga, ka tautokohia mo te 7 marama (tae noa ki Pipiri 2025). Hei nga ra e haere ake nei, ka oti te whakapumautanga o te peka Node.js 22, ka whiwhi te mana LTS hei te Oketopa 29 ka tautokohia tae noa ki Aperira 2027. Ka haere tonu te tautoko mo nga peka LTS o mua o Node.js 20.x me 18.x tae noa ki Paenga-whawha 2026 me 2025.
Nga whakapainga matua:
- Kua taapirihia he tautoko whakamatautau mo te TypeScript, e taea ai te whakamarama momo momo. Ka taea te tautoko ma te whakamahi i nga whiringa "--whakamatautau-waahi-momo" me te "--whakaahua-whakahuri-momo". I roto i te take o te whiringa tuatahi, ko te mahi me te TypeScript ka whakaitihia ki te whakakore i nga whakamaramatanga momo reo-motuhake (kaore e mahia te tirotiro momo, ka huri noa te waehere ki te JavaScript kore momo). Ko te whiringa tuarua ka huri i etahi huānga wetereo TypeScript, penei i nga enum me nga mokowāingoa, ki te waehere JavaScript.
- Whakahohehia ma te taunoa ko te kaha 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 ()" i Node.js, me mahi te kōwae ESM i te wa kotahi (kaore e tatari ki te taumata o runga).
- Ko te rapunga aunoa o nga waahanga ESM i roto i nga konae kaore he toronga ".js" ranei. I mua, ko enei konae i kiia he waahanga CommonJS mena kaore i tino tohua o raatau momo ki te konae package.json kei roto i te raarangi kotahi ("momo": "module"). I roto i te putanga hou, mo nga konae kaore nei te momo i tohua ki package.json, ka ngana tuatahi ki te uta hei kōwae CommonJS, a, ki te rahua tenei, ka waiho hei kōwae ESM.
- Kua taapirihia te whakatinanatanga whakamatautau hototahi ki ngā pūtirotiro Kua hangaia te Web Storage API mō te rokiroki pumau (te akomanga localStorage) me te rokiroki rangitahi rānei (te akomanga sessionStorage) o ngā raraunga matua/uara. Hei whakahohe i te tautoko Web Storage, me whakahaere te API me te haki "--experimental-webstorage" me te tohu i te ara ki te kōnae rokiroki mā te whakamahi i te haki "--localstorage-file".
- Kua taapirihia te API SQLite whakamatautau mo te mahi me nga papaa raraunga ma te whakamahi i te reo patai SQL me te rokiroki i runga i te whare pukapuka SQLite. I tua atu i te penapena i te papaa raraunga i roto i te konae kei runga i te kōpae, ka taea hoki te whakanoho ki roto i te mahara ma te tohu ": mahara:" hei utu mo te ingoa konae. Ko te API Rokiroki Tukutuku kua whakahuahia ake nei ka whakatinanahia ki runga ake o SQLite, ka hua mai te taapiri o SQLite hei whakawhirinakitanga mo Node.js.
- Ko te tono "node —run" kua kiia he pumau, i hangaia hei whakahaere i nga tuhinga kua tautuhia ki te konae package.json.
- I whakatinanahia he tautoko whiriwhiri mo te keteroki waehere kua whakahiato ki runga kōpae kia tere ake ai te whakarewatanga o nga kōwae. Ka taea te keteroki ma te taurangi taiao NODE_COMPILE_CACHE. I runga i tana kaupapa, he rite te ahuatanga ki te kete v8-compile-cache, engari he rereke nga mahi teitei ake me te tautoko mo nga waahanga ESM.
- Kua arotauhia te ahanoa Buffer kia tino piki ake te mahinga o nga tikanga Buffer.copy() me Buffer.write().
- Kua pai ake te mahinga o te kōwae kōpuku:fs, ka whakaitihia te maha o nga waea ki te waehere C++ i te wa e mahi ana.
- Kua whakahoutia te miihini V8 ki te putanga 12.9, i whakamahia ki Chromium 129.
- Kua tangohia te tautoko mo nga punaha Windows 32-bit.
- Na te whakaurunga o nga ahuatanga kua tautuhia ki te paerewa C++ 8 i Node.js me te miihini V20, kua piki ake nga whakaritenga mo te putanga whakahiato GCC. Ko te hanga Node.js me GCC 12 te iti rawa.
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
