Sethala sa JavaScript Node.js 22.0.0 se fumaneha

Node.js 22.0 e ile ea lokolloa, sethala sa ho tsamaisa lits'ebetso tsa marang-rang ho JavaScript. Node.js 22.0 e khetholloa e le lekala la ts'ehetso ea nako e telele, empa boemo bona bo tla abeloa feela ka October, ka mor'a ho tsitsa. Node.js 22.x e tla tšehetsoa ho fihlela ka la 30 Mmesa 2027. Tlhokomelo ea lekala la pele la LTS la Node.js 20.x e tla tšoarella ho fihlela Mmesa 2026, le selemo pele ho LTS lekala la 18.x ho fihlela Mmesa 2025. Lekala la tšebetso la Node.js 21.x le tla emisoa ka la 1 Phuptjane 2024.

Lintlafatso tsa mantlha:

  • Enjene ea V8 e ntlafalitsoe ho mofuta oa 12.4, e sebelisoang ho Chromium 124. Har'a liphetoho tse bapisoang le lekala la Node.js 21, le sebelisitseng mochine oa V8 11.8), ho boleloa:
    • Ts'ehetso bakeng sa katoloso ea WasmGC, e nolofatsang ho tsamaisoa ha mananeo a ngotsoeng ka lipuo tsa lenaneo tse sebelisang pokello ea lithōle (Kotlin, PHP, Java, joalo-joalo) ho WebAssembly. WasmGC e eketsa mefuta e mecha ea meaho le li-arrays tse ka sebelisang kabo ea memori e sa lekanyetsoang.
    • Tšehetso bakeng sa mokhoa oa Array.fromAsync(), o khutlisang ka mokhoa o sa tsitsang mohlala o mocha oa ntho ea Array e kopilitsoeng ho tsoa ho ntho e tšoanang, e ka khonehang kapa e sa lumellaneng.
    • Tšehetso ea mekhoa ea ho pheta-pheta e kang .map, .filter, .find, .take, .drop, .forEach le .fokotsa.
    • Ts'ehetso bakeng sa Setha se hlalosang pokello ea litekanyetso le mekhoa e fanang ka ts'ebetso e ts'oanang ea ts'ebetso e tloaelehileng, joalo ka mateano, kopano, phapang le tlatsetso.
  • Maglev optimizing JIT compiler e nolofalloa ke kamehla, e reretsoeng ho hlahisa kapele khoutu ea mochine o sebetsang hantle bakeng sa khoutu ea JavaScript e sebelisoang haholo. Ho nolofalletsa Maglev ho ka potlakisa haholo lits'ebetso tsa CLI tsa nako e khuts'oane tse sa sebetseng nako e telele, mohlala, nako ea ho qeta tlhahlobo ea Jetstrea e fokotsehile ka 7.5%, le tlhahlobo ea Speedometer ka 5%.
  • Mosebetsi o nang le melapo o potlakisitsoe ka ho eketsa boleng ba khetho ea highWaterMark ho tloha 16 KB ho ea ho 65 KB (e hlalosa moeli oo ho rekotiloeng ho bolokiloeng ho oona). Phetoho e fella ka ts'ebeliso e eketsehileng ea memori, kahoo lits'ebetso tse etselitsoeng ho sebetsa ka RAM e lekantsoeng li kanna tsa hloka ho khutlela boleng ba khale ka mohala ho setDefaultHighWaterMark().
  • Ts'ebetso e ntlafetseng ea fetch() le li-API tsa semathi sa teko ka ho etsa hore AbortSignal e sebetse hantle haholoanyane. Ts'ebetso ea li-API tse amanang le mosebetsi oa synchronous le litsamaiso tsa lifaele li ntlafalitsoe.
  • Ho fanoe ka karolo ea teko ho sebelisa mohala oa "require()" ho kenya li-module tsa JavaScript ESM (ECMAScript Modules) ka mokhoa o lumellanang. Li-module tsa ESM li sebelisoa ho li-browser 'me li nkela li-module tsa CommonJS tse khethehileng ho Node.js. Ho kenya ka "require()", mojule oa ESM o tlameha ho etsoa ka mokhoa oa synchronous (ntle le ho emela holimo). Tšehetso e lumelloa ka "--experimental-require-module" folakha.
  • Bokhoni bo ekelitsoeng ba liteko tsa ho tsamaisa lingoliloeng tse hlalositsoeng faeleng ea package.json ho sebelisoa taelo ea "--run" "
  • Taelo ea "node -watch" e fetiselitsoe sehlopheng se tsitsitseng ka ts'ebetsong ea mokhoa oa ho shebella o tiisang hore ts'ebetso e tsosolosoa ha faele e tsoang linaheng tse ling e fetoha (mohlala, haeba "node -watch index.js" e etsoa, ​​​​mohlala o tla qala ho sebetsa. ts'ebetso e tla qalisoa bocha ha index.js e fetoha).
  • Ts'ebetsong ea tlhaho ea WebSocket API e tsitsitse, e lumella WebSocket hore e sebelisoe ka mokhoa oa bareki ntle le ho kenya litšepe tse eketsehileng.
  • E kentse tšehetso e sa fellang bakeng sa Navigator API.
  • Webstreams API e kentse tšehetso bakeng sa sebopeho sa compression sa deflate-raw.
  • E kentse mesebetsi ea glob le globSync ho node: fsmodule bakeng sa ho tsamaisana le mekhoa ea lifaele.
  • Ts'ebetso e ntlafetseng ea li-stacks tsa IPv6 tse lokiselitsoeng ka phoso. E kentsoe algorithm ea Happy Eyeballs bakeng sa ho khutlisa kapele haeba ho na le mathata ka ts'ebetso ea IPv6.
  • Util API ha e sebelisoe.
  • Liphetolelo tse ntlafalitsoeng tsa ho itšetleha: 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 ho 3.8.0, ada 2.7.7 le undici 6.6.0. .

Sethala sa Node.js se ka sebediswa bakeng sa tshehetso ya seva bakeng sa ditshebediso tsa webo le bakeng sa ho theha mananeo a tloaelehileng a marangrang a bareki le a seva. Ho atolosa tshebetso ya ditshebediso tsa Node.js, pokello e kgolo ya dimmojule e se e lokisitswe, ho kenyeletswa le tse nang le diketso. lisebelisoa le bareki ba HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, dimmojule tsa ho kopanngwa le meralo e fapaneng ya webo, di-handler tsa WebSocket le Ajax, dihokelo ho DBMS (MySQL, PostgreSQL, SQLite, MongoDB), dienjene tsa template, dienjene tsa CSS, ho kenngwa tshebetsong ha di-algorithms tsa cryptographic le ditsamaiso tsa tumello (OAuth), di-parser tsa XML.

Ho sebetsana le likopo tse ngata tse tšoanang, Node.js e sebelisa mokhoa oa ho etsa khoutu o sa lumellaneng o ipapisitseng le ts'ebetso ea ketsahalo e sa thibeleng le ho hlalosa li-callback handlers. Mekhoa e tšehelitsoeng ea likhokahano tsa multiplexing e kenyelletsa epoll, kqueue, /dev/poll, le khetha. Bakeng sa ho kopanya li-multiplexing, ho sebelisoa laeborari ea libuv, e leng tlatsetso ho libev lits'ebetsong tsa Unix le ho IOCP ho Windows. Laebrari ea libeio e sebelisetsoa ho etsa letamo la likhoele, 'me li-c-ares li kopantsoe ho etsa lipotso tsa DNS ka mokhoa o sa thibeleng. Mehala eohle ea sistimi e bakang ho thibela e etsoa ka har'a letamo la likhoele ebe, joalo ka batšoantšisi ba matšoao, ba fetisa sephetho sa mosebetsi oa bona ka phala e sa boleloang ka lebitso.

Ts'ebetso ea khoutu ea JavaScript e netefatsoa ka tšebeliso ea enjene ea V8 e ntlafalitsoeng ke Google (ho feta moo, Microsoft e nts'etsapele mofuta oa Node.js ka enjene ea Chakra-Core). Motheong oa eona, Node.js e tšoana le Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks le ts'ebetsong ea liketsahalo tsa Tcl, empa leqhubu la ketsahalo ho Node.js le patiloe ho moqapi 'me le tšoana le ts'ebetso ea ketsahalo ka kopo ea websaete. e sebetsang ho sebadi.

Source: opennet.ru

Eketsa ka tlhaloso