Node.js 22.0 ti tu silẹ, ipilẹ kan fun ṣiṣe awọn ohun elo nẹtiwọọki ni JavaScript. Node.js 22.0 jẹ ipin bi ẹka atilẹyin igba pipẹ, ṣugbọn ipo yii yoo jẹ sọtọ ni Oṣu Kẹwa nikan, lẹhin imuduro. Node.js 22.x yoo ṣe atilẹyin titi di Oṣu Kẹrin Ọjọ 30, Ọdun 2027. Itọju ẹka LTS ti tẹlẹ ti Node.js 20.x yoo ṣiṣe titi di Oṣu Kẹrin ọdun 2026, ati ọdun ṣaaju ẹka LTS to kẹhin 18.x titi di Oṣu Kẹrin ọdun 2025. Ẹka iṣeto ti Node.js 21.x yoo dawọ duro ni Oṣu Kẹfa ọjọ 1, Ọdun 2024.
Awọn ilọsiwaju akọkọ:
- Enjini V8 ti ni imudojuiwọn si ẹya 12.4, ti a lo ninu Chromium 124. Lara awọn ayipada ti a fiwe si ẹka Node.js 21, eyiti o lo ẹrọ V8 11.8), o ṣe akiyesi:
- Atilẹyin fun itẹsiwaju WasmGC, eyiti o jẹ irọrun gbigbe awọn eto ti a kọ sinu awọn ede siseto ti o lo ikojọpọ idoti (Kotlin, PHP, Java, ati bẹbẹ lọ) si Apejọ wẹẹbu. WasmGC ṣafikun awọn iru awọn ẹya tuntun ati awọn akojọpọ ti o le lo ipin iranti ti kii ṣe laini.
- Atilẹyin fun ọna Array.fromAsync (), eyiti o dapadabọ apẹẹrẹ tuntun ti ohun Array ti o daakọ lati inu ohun-ọpọlọpọ, iterable tabi asynchronously iterable.
- Atilẹyin fun awọn ọna aṣetunṣe bii .map, .filter, .ri, .mu, .ju, .fun Kọọkan ati .dinku.
- Atilẹyin fun ohun kan Ṣeto ti o ṣalaye ikojọpọ awọn iye ati pe o funni ni awọn ọna ti o ṣe imuse awọn iṣẹ iṣeto ti o wọpọ, gẹgẹbi ikorita, iṣọkan, iyatọ, ati afikun.
- Olupilẹṣẹ JIT ti o dara ju Maglev ṣiṣẹ nipasẹ aiyipada, ti a pinnu lati ṣe ipilẹṣẹ koodu ẹrọ ti o ga julọ fun koodu JavaScript ti o lo pupọ. Ṣiṣe Maglev le ṣe iyara awọn ohun elo CLI kukuru kukuru ti ko ṣe awọn iṣẹ igba pipẹ, fun apẹẹrẹ, akoko lati pari idanwo Jetstrea dinku nipasẹ 7.5%, ati idanwo Speedometer nipasẹ 5%.
- Ṣiṣẹ pẹlu awọn ṣiṣan ti ni iyara nipasẹ jijẹ iye ti aṣayan gigaWaterMark lati 16 KB si 65 KB (ṣalaye opin to eyiti gbigbasilẹ jẹ ifipamọ). Awọn abajade iyipada ni alekun agbara iranti, nitorinaa awọn ohun elo ti a ṣe lati ṣiṣẹ lori Ramu to lopin le nilo lati yi pada si iye atijọ nipasẹ ipe si setDefaultHighWaterMark ().
- Imudara iṣẹ ti wiwa () ati idanwo awọn API olusare nipasẹ ṣiṣe imuṣere AbortSignal daradara siwaju sii. Iṣe awọn API ti o ni ibatan si iṣẹ amuṣiṣẹpọ pẹlu awọn ọna ṣiṣe faili ti ni ilọsiwaju.
- Ẹya idanwo kan ti pese lati lo ipe “beere()” lati kojọpọ awọn modulu ESM JavaScript (Awọn Modulu ECMAScript) ni ipo amuṣiṣẹpọ. Awọn modulu ESM ni a lo ninu awọn aṣawakiri ati rọpo awọn modulu CommonJS kan pato si Node.js. Lati fifuye nipasẹ "beere ()", module ESM gbọdọ wa ni ṣiṣe ni ipo amuṣiṣẹpọ (laisi idaduro ni ipele oke). Atilẹyin ti ṣiṣẹ nipasẹ asia “--experimental-require-module”.
- Agbara adanwo ti a ṣafikun lati ṣiṣe awọn iwe afọwọkọ ti asọye ninu faili package.json nipa lilo pipaṣẹ “--run”. "
- Aṣẹ “node –watch” ti gbe lọ si ẹka iduroṣinṣin pẹlu imuse ti ipo iṣọ ti o rii daju pe ilana naa ti tun bẹrẹ nigbati faili ti a ko wọle ba yipada (fun apẹẹrẹ, ti “node –watch index.js” ba ti ṣiṣẹ, ilana yoo tun bẹrẹ laifọwọyi nigbati index.js yipada).
- Imuse abinibi ti WebSocket API ti jẹ imuduro, gbigba WebSocket laaye lati lo ni ipo alabara laisi fifi awọn igbẹkẹle afikun sii.
- Ṣe afikun atilẹyin apa kan fun API Navigator.
- API ṣiṣanwọle wẹẹbu ti ṣafikun atilẹyin fun ọna kika funmorawon-aise.
- Ṣafikun glob ati awọn iṣẹ globSync si node:fsmodule fun ilana ibaamu awọn ọna faili.
- Imudarasi mimu ti ko tọ ni atunto awọn akopọ IPv6. Alugoridimu Idunnu Eyeballs ti a ṣe fun yiyi pada ni iyara ni ọran ti awọn iṣoro pẹlu iṣẹ IPv6.
- API ti ilò ti jẹ ti irẹwẹsi.
- Awọn ẹya igbẹkẹle imudojuiwọn: 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 si 3.8.0, ada 2.7.7. .
A le lo pẹpẹ Node.js fún àtìlẹ́yìn ẹ̀gbẹ́ olupin fún àwọn ohun èlò wẹ́ẹ̀bù àti fún ṣíṣẹ̀dá àwọn ètò nẹ́tíwọ́ọ̀kì oníbàárà àti ti ẹ̀gbẹ́ olupin. Láti mú iṣẹ́ àwọn ohun èlò Node.js gbòòrò sí i, a ti pèsè àkójọpọ̀ àwọn modulu púpọ̀, títí kan àwọn tí ń ṣe é. apèsè àti àwọn oníbàárà HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, àwọn modulu fún ìṣọ̀kan pẹ̀lú onírúurú àwọn ètò wẹ́ẹ̀bù, àwọn olùdarí WebSocket àti Ajax, àwọn olùsopọ̀ mọ́ DBMS (MySQL, PostgreSQL, SQLite, MongoDB), àwọn ẹ̀rọ àpẹẹrẹ, àwọn ẹ̀rọ CSS, àwọn ìmúṣẹ àwọn algoridimu ìkọ̀kọ̀ àti àwọn ètò àṣẹ (OAuth), àwọn olùṣàpèjúwe XML.
Lati mu awọn nọmba nla ti awọn ibeere ti o jọra, Node.js nlo awoṣe ipaniyan koodu asynchronous ti o da lori sisẹ iṣẹlẹ ti kii ṣe idinamọ ati asọye awọn olutọju ipe. Awọn ọna ti a ṣe atilẹyin fun awọn asopọ pupọ pẹlu epoll, kqueue, /dev/poll, ati yan. Fun multixing asopọ, ile-ikawe libuv ti lo, eyiti o jẹ afikun si libev lori awọn eto Unix ati si IOCP lori Windows. Ile-ikawe libeio ni a lo lati ṣẹda adagun okun, ati pe c-ares ti ṣepọ lati ṣe awọn ibeere DNS ni ipo ti kii ṣe idinamọ. Gbogbo awọn ipe eto ti o fa idinamọ ni a ṣe laarin adagun okun ati lẹhinna, bii awọn olutọju ifihan, ṣe abajade iṣẹ wọn pada nipasẹ paipu ti a ko darukọ.
Ṣiṣe koodu JavaScript jẹ idaniloju nipasẹ lilo ẹrọ V8 ti Google ṣe idagbasoke (ni afikun, Microsoft n ṣe agbekalẹ ẹya Node.js pẹlu ẹrọ Chakra-Core). Ni ipilẹ rẹ, Node.js jẹ iru si Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks ati imuse awọn iṣẹlẹ ni Tcl, ṣugbọn iṣẹlẹ iṣẹlẹ ni Node.js ti wa ni pamọ lati ọdọ olupilẹṣẹ ati ki o jọra sisẹ iṣẹlẹ ni ohun elo ayelujara kan. nṣiṣẹ ni browser.
orisun: opennet.ru
