Node.js 20.0, ipilẹ kan fun ṣiṣe awọn ohun elo nẹtiwọọki ni JavaScript, ti tu silẹ. Node.js 20.0 ti wa ni ipin bi ẹka atilẹyin igba pipẹ, ṣugbọn ipo yii yoo jẹ sọtọ nikan ni Oṣu Kẹwa, lẹhin imuduro. Node.js 20.x yoo ṣe atilẹyin titi di Oṣu Kẹrin Ọjọ 30, Ọdun 2026. Itọju ẹka LTS ti tẹlẹ ti Node.js 18.x yoo ṣiṣe titi di Oṣu Kẹrin ọdun 2025, ati ọkan ṣaaju ẹka LTS ti o kẹhin 16.x titi di Oṣu Kẹsan 2023. Ẹka 14.x LTS yoo dawọ duro ni Oṣu Kẹrin Ọjọ 30th, ati pe ẹka iduro Node.js 19.x yoo dawọ duro ni Oṣu Kẹfa ọjọ 1st.
Awọn ilọsiwaju akọkọ:
- Enjini V8 ti ni imudojuiwọn si ẹya 11.3, ti a lo ninu Chromium 113. Awọn ayipada ni akawe si ẹka Node.js 19, eyiti o lo ẹrọ Chromium 107, pẹlu String.prototype.isWellFormed ati awọn iṣẹ toWellFormed, Array.prototype ati TypedArray. Awọn ọna apẹrẹ fun ṣiṣẹ pẹlu ẹda kan nigbati o ba yipada Array ati awọn ohun elo TypedArray, asia “v” ni RegExp, atilẹyin fun atunṣe ArrayBuffer ati jijẹ iwọn SharedArrayBuffer, atunṣe iru (ipe iru) ni WebAssembly.
- Ilana Awoṣe Igbanilaaye adanwo ti ni imọran ti o fun laaye ni aropin iraye si awọn orisun kan lakoko ipaniyan. Atilẹyin Awoṣe igbanilaaye ṣiṣẹ nipa sisọ asia “--esiperimenta-iyọọda” nigba ṣiṣe. Ipilẹṣẹ akọkọ nfunni ni awọn aṣayan fun didin kikọ (-allow-fs-write) ati ka (-allow-fs-read) iraye si awọn apakan kan ti eto faili, awọn ilana ọmọde (- gba ilana ọmọ-ọwọ), ati add-ons (--no-addons) ) ati awọn okun (--allow-osise). Fun apẹẹrẹ, lati gba kikọ si itọsọna / tmp ati kika faili /home/index.js, o le pato: node —experimental-permission —allow-fs-write=/tmp/ —allow-fs-read=/home /index.js atọka .js
Lati ṣayẹwo wiwọle, o daba lati lo ọna ilana.permission.has (), fun apẹẹrẹ, "process.permission.has ('fs.write',"/tmp/test").
- Awọn olutọju ECMAScript Ita Module (ESM) ti kojọpọ nipasẹ aṣayan "--experimental-loader" ni bayi ṣiṣe ni okun ti o yatọ, ti o ya sọtọ lati okun akọkọ, imukuro ikorita ti koodu ohun elo ati awọn modulu ESM ti kojọpọ. Iru si awọn aṣawakiri, ọna import.meta.resolve() ti wa ni ṣiṣe ni iṣiṣẹpọ nigba ti a pe lati ohun elo kan. Ninu ọkan ninu awọn ẹka atẹle ti Node.js, atilẹyin fun ikojọpọ ESM ti gbero lati gbe lọ si ẹka ti awọn agbara iduroṣinṣin.
- Module node: test (test_runner), ti a ṣe apẹrẹ fun ṣiṣẹda ati ṣiṣe awọn idanwo ni JavaScript ti o da awọn abajade pada ni ọna kika TAP (Test Anything Protocol), ti jẹ iduroṣinṣin.
- Ẹgbẹ idagbasoke ọtọtọ ni a ṣẹda, ti o ni iduro fun iṣapeye iṣẹ, eyiti, nigbati o ngbaradi ẹka tuntun kan, ṣiṣẹ lati mu iyara lọpọlọpọ awọn paati akoko asiko, pẹlu itọka URL, fatch () ati EventTarget. Fún àpẹrẹ, ìdánilẹ́kọ̀ọ́ EventTarget ti jẹ́ ìdá mẹ́ta, iṣẹ́ ọ̀nà URL.canParse() ti ni ìdàgbàsókè lọ́nà títóbi, àti ìmúṣẹ àwọn aago ti jẹ́ ìmúgbòrò. O tun pẹlu itusilẹ ti itusilẹ URL iṣẹ-giga, Ada 2.0, ti a kọ sinu C++.
- Awọn idagbasoke ti awọn esiperimenta agbara fun jiṣẹ awọn ohun elo ni awọn fọọmu ti ọkan executable faili (SEA, Single Executable Awọn ohun elo) tesiwaju. Ṣiṣẹda faili ti o le ṣiṣẹ ni bayi nbeere rirọpo blob ti ipilẹṣẹ lati faili iṣeto ni ọna kika JSON (dipo ti fidipo faili JavaScript kan).
- Imudara ibamu ti Wẹẹbu Crypto API pẹlu awọn imuse lati awọn iṣẹ akanṣe miiran.
- Добавлена официальная поддержка Windows на системах ARM64.
- Imuse ti atilẹyin fun awọn amugbooro WASI (WebAssembly System Interface) fun ṣiṣẹda awọn ohun elo WebAssembly ti o duro nikan ti tẹsiwaju. Yiyọ iwulo lati pato asia laini aṣẹ pataki kan lati mu atilẹyin WASI ṣiṣẹ.
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.
Láti bójútó ọ̀pọ̀lọpọ̀ ìbéèrè tí ó jọra, Node.js ń lo àwòṣe ìṣiṣẹ́ koodu asynchronous tí ó dá lórí ìṣiṣẹ́ ìṣẹ̀lẹ̀ tí kò ní ìdènà àti àwọn olùdarí callback. Àwọn ọ̀nà ìsopọ̀pọ̀ ìsopọ̀ tí a ṣe àtìlẹ́yìn pẹ̀lú epoll, kqueue, /dev/poll, àti select. Ìkàwé libuv, èyí tí ó jẹ́ superset ti libev lórí àwọn ètò Unix àti IOCP lórí IOCP, ni a lò fún ìsopọ̀pọ̀ ìsopọ̀. WindowsA lo ibi ìkàwé libeio láti ṣẹ̀dá adágún okùn kan, a sì so c-ares pọ̀ láti ṣe àwọn ìbéèrè DNS ní ipò tí kò ní ìdènà. Gbogbo ìpè ètò ìdènà ni a ń ṣe láàárín adágún okùn náà, lẹ́yìn náà, gẹ́gẹ́ bí àwọn olùdarí àmì, a máa dá àwọn èsì wọn padà nípasẹ̀ páìpù tí a kò dárúkọ. Ẹ̀rọ V8 ti Google ló ń pèsè ìṣiṣẹ́ JavaScript (Microsoft tún ń ṣe àgbékalẹ̀ onírúurú Node.js pẹ̀lú ẹ̀rọ Chakra-Core).
Ni ipilẹ rẹ, Node.js jẹ iru si Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ati imuse iṣẹlẹ iṣẹlẹ Tcl, ṣugbọn iṣẹlẹ iṣẹlẹ ni Node.js ti wa ni pamọ lati ọdọ olupilẹṣẹ ati ki o jọmọ mimu iṣẹlẹ ni ohun elo wẹẹbu nṣiṣẹ ni browser. Nigbati o ba kọ awọn ohun elo fun node.js, o nilo lati ṣe akiyesi awọn pato ti siseto-iṣẹlẹ, fun apẹẹrẹ, dipo ṣiṣe "var esi = db.query ("yan ...");" pẹlu idaduro fun ipari iṣẹ ati ṣiṣe atẹle ti awọn abajade, Node.js lo ilana ti ipaniyan asynchronous, ie. koodu naa ti yipada si "db.query ("yan ...", iṣẹ (abajade) {sisẹ abajade});", ninu eyiti iṣakoso yoo kọja lẹsẹkẹsẹ si koodu siwaju sii, ati pe abajade ibeere yoo ṣe ilana bi data ti de.
orisun: opennet.ru
