Madal-kooxeed-dhinaca JavaScript ee Node.js 20.0 waa la heli karaa

Siideynta Node.js 20.0, oo ah goob lagu fuliyo codsiyada shabakada JavaScript, ayaa dhacay. Node.js 20.0 ayaa loo qoondeeyay laanta taageerada dheer, laakiin heerkan lama meelayn doono ilaa Oktoobar, ka dib xasilinta. Node.js 20.x waa la taageeri doonaa ilaa Abriil 30, 2026. Dayactirka laanta hore ee Node.js 18.x LTS waxay socon doontaa ilaa Abriil 2025, iyo laantii hore ee 16.x LTS ilaa Sebtembar 2023. Laanta 14.x LTS waxa la xidhi doonaa Abriil 30, iyo laanta ku meel gaadhka ah ee Node.js 19.x June 1.

Horumarka ugu weyn:

  • Matoorka V8 ayaa loo cusboonaysiiyay nooca 11.3, kaas oo lagu isticmaalo Chromium 113. Isbadalada marka la barbar dhigo laanta Node.js 19, taas oo isticmaashay matoorka Chromium 107, String.prototype.isWellFormed iyo toWellFormed functional, Array.prototype iyo hababka TypedArray.prototype si ay ula shaqeeyaan nuqulka beddelka walxaha Array iyo TypedArray, "v" calanka RegExp, taageerada dib-u-habeynta ArrayBuffer iyo kordhinta cabbirka SharedArrayBuffer, dabada-call ee WebAssembly.
  • Habka Ogolaanshaha tijaabada ah ayaa la soo jeediyay kaas oo kuu ogolaanaya inaad xaddido gelitaanka kheyraadka qaarkood inta lagu jiro fulinta. Taageerada Qaabka Ogolaanshaha waxa lagu sahlayaa iyada oo la cayimayo calanka "--tijaabi-ogolaanshaha" marka la ordayo. Hirgelinta bilawga ah, ikhtiyaarrada ayaa la soo jeediyay in la xaddido qoritaanka (--ogol-fs-qor) iyo akhrinta (--oggow-fs-akhri) gelitaanka qaybo ka mid ah FS, hababka ilmaha (--ogol-habka-ilmaha) , add-ons (--no-addons) iyo dunta (--allow-shaqaale). Tusaale ahaan, si loogu oggolaado qoraal tusaha /tmp iyo akhrinta faylka /home/index.js, waxaad qeexi kartaa: node --experimental-permission --allow-fs-write=/tmp/ --allow-fs-read =/guriga/index.js index .js

    Si loo hubiyo gelitaanka, waxaa la soo jeediyay in la isticmaalo habka.permission.has(), tusaale ahaan, "process.permission.has('fs.write',"/tmp/test").

  • Xakameeyayaasha ECMAScript modules-ka dibadda ah (ESMs) ee lagu shubay ikhtiyaarka "--tijaabi-loader" hadda waxaa lagu fuliyay dun gaar ah, oo ka go'doon dunta ugu weyn, taas oo meesha ka saaraysa is-goysyada koodka codsiga iyo qaybaha ESM ee raran. Si la mid ah daalacashada, habka import.meta.resolve() ayaa hadda si isku mid ah u fuliya marka laga soo waco gudaha codsi. Mid ka mid ah laamaha soo socda ee Node.js, taageerada rarida ESM ayaa la qorsheeyay in loo wareejiyo qaybta astaamaha deggan.
  • Node: test (test_runner) moduleka, oo loogu talagalay in lagu sameeyo oo uu socodsiiyo imtixaanada JavaScript ee soo celisa natiijooyinka qaabka TAP (Test Anything Protocol), ayaa loo raray si deggan.
  • Koox wax qabad gaar ah ayaa la sameeyay, kaas oo, u diyaargarowga laanta cusub, ka shaqeysay dardargelinta qaybaha kala duwan ee runtime, oo ay ku jiraan URL parsing, fetch () iyo EventTarget. Tusaale ahaan, sare u kaca bilawga EventTarget waa la kala badh, waxqabadka habka URL.canParse() si weyn ayaa loo hagaajiyay, iyo waxtarka saacadaha ayaa la hagaajiyay. Intaa waxaa dheer, sii deynta URL-gareeyaha waxqabadka sare - Ada 2.0, oo ku qoran C ++, ayaa lagu daray halabuurka.
  • Horumarinta qaabka tijaabada ah ee gudbinta codsiyada qaab hal fayl oo la fulin karo (SEA, Codsiyada La Fulin karo) ayaa sii socday. Abuuritaanka wax la fulin karo hadda waxay u baahan tahay in la beddelo blob ka soo baxay qaabaynta faylka JSON (halkii lagu beddeli lahaa faylka JavaScript).
  • Iswaafajinta Web Crypto API oo la hagaajiyay iyo fulinta mashaariicda kale.
  • Waxaa lagu daray taageerada rasmiga ah ee Windows ee nidaamyada ARM64.
  • Taageerada joogtada ah ee WASI (WebAssembly System Interface) kordhinta abuuritaanka codsiyada WebAssembly taagan. Waxaa meesha ka saaray baahidii loo qabay in la cayimo calanka khadka taliska ee gaarka ah si loo suurtageliyo taageerada WASI.

Nidaamka Node.js waxaa loo isticmaali karaa labadaba dayactirka server-ka ee codsiyada Webka iyo abuurista macaamiisha joogtada ah iyo barnaamijyada shabakadaha serverka. Si loo ballaariyo shaqeynta codsiyada Node.js, ururin badan oo cutubyo ah ayaa la diyaariyey, kaas oo aad ka heli karto cutubyo leh hirgelinta HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 server iyo macaamiisha, cutubyada isdhexgalka. oo leh qaabab shabakadeed oo kala duwan, WebSocket iyo Ajax , Xidhiidhiyayaasha DBMS (MySQL, PostgreSQL, SQLite, MongoDB), matoorada qaabaynta, matoorada CSS, hirgelinta crypto algorithms iyo nidaamyada oggolaanshaha (OAuth), XML parsers.

Si loo hubiyo habaynta tiro badan oo codsiyo isbarbar socda, Node.js waxay isticmaashaa qaabka fulinta koodka asynchronous ee ku salaysan maaraynta dhacdo aan xannibin iyo qeexida gacan-qabayaasha dib-u-waraca. Hababka la taageeray ee isku xirka isku dhufashada waa epoll, kqueue, /dev/poll, oo dooro. Isku xirka isku dhufashada, maktabadda libuv ayaa loo isticmaalaa, taas oo ah ku-darka libev ee nidaamyada Unix iyo IOCP ee Windows. Maktabadda libeio waxaa loo isticmaalaa in lagu abuuro barkad dunta leh, iyo c-ares waa la isku daray si loo sameeyo weydiimaha DNS qaab aan xannibin. Dhammaan wicitaanada nidaamka ee sababa xannibaadda waxaa lagu fuliyaa gudaha barkadda dunta ka dibna, sida kuwa gacanta ku haya calaamadaha, waxay natiijada shaqadooda dib ugu wareejiyaan tuubo aan la magacaabin (tuubo). Fulinta koodhka JavaScript waxaa lagu bixiyaa iyadoo la adeegsanayo matoorka V8 ee uu sameeyay Google (marka lagu daro, Microsoft waxay horumarinaysaa nooca Node.js oo leh mashiinka Chakra-Core).

Xuddunta, Node.js waxay la mid tahay Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, iyo fulinta dhacdada Tcl, laakiin dhacdada loop ee Node.js waa ka qarsoon tahay horumariyaha waxayna u egtahay maaraynta dhacdada ee codsiga shabakadda ee socda. browserka Markaad qoreyso codsiyada node.js, waxaad u baahan tahay inaad tixgeliso waxyaabaha gaarka ah ee barnaamijka socodsiinta dhacdada, tusaale ahaan, halkii aad samayn lahayd "var result = db.query("dooro..");" iyada oo la sugayo dhamaystirka shaqada iyo habaynta ku xigta ee natiijooyinka, Node.js waxay isticmaashaa mabda'a fulinta asynchronous, i.e. koodka waxa loo beddelaa "db.query("dooro..", function (natiijada) {natiijooyinka habaynta});, kaas oo koontaroolku isla markiiba u gudbi doono koodka dheeraadka ah, natiijada waydiintana waxaa laga baaraandegi doonaa marka xogtu timaado.

Source: opennet.ru

Add a comment