Dandalin JavaScript na gefen uwar garken Node.js 20.0 akwai

An saki Node.js 20.0, dandamali don aiwatar da aikace-aikacen cibiyar sadarwa a JavaScript, ya faru. An sanya Node.js 20.0 zuwa reshen tallafi na dogon lokaci, amma ba za a sanya wannan matsayin ba har sai Oktoba, bayan daidaitawa. Node.js 20.x za a tallafawa har zuwa Afrilu 30, 2026. Kula da reshen Node.js 18.x LTS na baya zai kasance har zuwa Afrilu 2025, da kuma reshen 16.x LTS na baya har zuwa Satumba 2023. Za a kiyaye reshen 14.x LTS a ranar 30 ga Afrilu, da kuma Node.js 19.x reshen wucin gadi a ranar 1 ga Yuni.

Babban haɓakawa:

  • An sabunta injin V8 zuwa nau'in 11.3, wanda ake amfani da shi a cikin Chromium 113. Daga cikin canje-canjen idan aka kwatanta da reshen Node.js 19, wanda ya yi amfani da injin Chromium 107, String.prototype.isWellFormed da ayyukan WellFormed, Array.prototype da TypedArray.prototype hanyoyin yin aiki tare da kwafi akan canji na Array da TypedArray abubuwa, "v" tuta a cikin RegExp, goyon baya don sake girman ArrayBuffer da haɓaka girman SharedArrayBuffer, kiran wutsiya a cikin WebAssembly.
  • An gabatar da tsarin Samfurin Izinin gwaji wanda zai ba ku damar taƙaita damar zuwa wasu albarkatu yayin aiwatarwa. Ana kunna goyan bayan Samfurin izini ta hanyar ƙayyadaddun tutar "--gwaji-izini" yayin gudana. A cikin aiwatarwa na farko, an ba da shawarar zaɓuɓɓuka don ƙuntata rubutawa (-bar-fs-write) da karanta (-bar-fs-read) samun dama ga wasu sassa na FS, tsarin yara (-bayar-tsari-yara) , add-ons (--no-addons) da zaren (--allow-ma'aikaci). Misali, don ba da damar rubutawa zuwa /tmp directory da karanta fayil ɗin /home/index.js, zaku iya ƙayyade: node --experimental-permission --allow-fs-write=/tmp/ --allow-fs-read =/gida/index.js index .js

    Don bincika shiga, ana ba da shawarar amfani da hanyar process.permission.has(), misali, "process.permission.has('fs.write',"/tmp/test").

  • Masu kula da na'urorin waje na ECMAScript (ESMs) da aka ɗora ta hanyar zaɓin "--experimental-loader" yanzu ana aiwatar da su a cikin wani zare daban, keɓe daga babban zaren, wanda ke kawar da mahadar lambar aikace-aikacen da kayan aikin ESM da aka ɗora. Kama da masu bincike, hanyar import.meta.resolve() yanzu tana aiki tare lokacin da ake kira daga cikin aikace-aikace. A cikin ɗaya daga cikin rassan Node.js na gaba, ana shirin ɗaukar goyan bayan ESM don matsawa zuwa nau'in fasalulluka masu tsayi.
  • Tsarin node:test (test_runner), wanda aka ƙera don ƙirƙira da gudanar da gwaje-gwajen JavaScript waɗanda ke dawo da sakamako a cikin tsarin TAP (Test Anything Protocol), an ƙaura zuwa barga.
  • An kafa ƙungiyar wasan kwaikwayo daban, wanda, a cikin shirye-shiryen sabon reshe, ya yi aiki don hanzarta abubuwan da aka haɗa lokacin aiki daban-daban, ciki har da URL parsing, detch() da EventTarget. Misali, an rage sama da farkon fara EventTarget, aikin hanyar URL.canParse() an inganta sosai, kuma an inganta ingancin masu ƙidayar lokaci. Bugu da ƙari, ƙaddamar da babban aikin URL - Ada 2.0, wanda aka rubuta a cikin C ++, yana cikin abun da ke ciki.
  • Haɓaka fasalin gwaji don isar da aikace-aikacen a cikin nau'i na fayil guda ɗaya mai aiwatarwa (SEA, Aikace-aikace guda ɗaya) ya ci gaba. Ƙirƙirar mai aiwatarwa a yanzu yana buƙatar musanya ɓangarorin da aka samar daga fayil ɗin sanyi na JSON (maimakon musanya fayil ɗin JavaScript).
  • Ingantattun daidaituwar Crypto Yanar gizo API tare da aiwatarwa daga wasu ayyuka.
  • Ƙara goyan bayan hukuma don Windows akan tsarin ARM64.
  • Ci gaba da goyan bayan WASI (WebAssembly System Interface) kari don ƙirƙirar aikace-aikacen WebAssembly na tsaye. An cire buƙatar saka tuta ta musamman don ba da damar tallafin WASI.

Za a iya amfani da dandalin Node.js duka don kula da uwar garken aikace-aikacen yanar gizo da kuma ƙirƙirar shirye-shiryen abokin ciniki na yau da kullum da uwar garken. Don fadada ayyukan aikace-aikacen don Node.js, an shirya babban tarin kayayyaki, wanda za ku iya samun kayayyaki tare da aiwatar da HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 sabobin da abokan ciniki, kayayyaki don haɗin kai. tare da tsarin yanar gizo daban-daban, masu sarrafa WebSocket da Ajax , masu haɗin DBMS (MySQL, PostgreSQL, SQLite, MongoDB), injunan gwaji, injunan CSS, aiwatar da algorithms na crypto da kuma tsarin izini (OAuth), XML parsers.

Don tabbatar da sarrafa ɗimbin buƙatun layi ɗaya, Node.js yana amfani da samfurin aiwatar da lambar asynchronous dangane da abubuwan da ba a toshewa ba da ma'anar masu kula da kira. Hanyoyin da aka goyan baya don haɗa haɗin kai sune epoll, kqueue, /dev/poll, kuma zaɓi. Don haɗawa da yawa, ana amfani da ɗakin karatu na libuv, wanda shine ƙari don libev akan tsarin Unix da IOCP akan Windows. Ana amfani da ɗakin karatu na libeio don ƙirƙirar tafkin zaren, kuma an haɗa c-ares don yin tambayoyin DNS a yanayin da ba tare da toshewa ba. Ana aiwatar da duk kiran tsarin da ke haifar da toshewa a cikin tafkin zaren sannan, kamar masu sarrafa sigina, canja wurin sakamakon aikinsu ta hanyar bututu (bututu) da ba a bayyana sunansa ba. Ana ba da aiwatar da lambar JavaScript ta hanyar amfani da injin V8 wanda Google ya haɓaka (Bugu da ƙari, Microsoft yana haɓaka sigar Node.js tare da injin Chakra-Core).

A ainihin sa, Node.js yayi kama da Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, da kuma aiwatar da taron Tcl, amma madaidaicin taron a Node.js yana ɓoye daga mai haɓakawa kuma yayi kama da gudanar da taron a cikin aikace-aikacen yanar gizon da ke gudana. a cikin browser. Lokacin rubuta aikace-aikacen node.js, kuna buƙatar yin la'akari da ƙayyadaddun shirye-shiryen da ke gudana, alal misali, maimakon yin "var sakamako = db.query("zaɓa ..");" tare da jiran kammala aikin da aiwatar da sakamako na gaba, Node.js yana amfani da ka'idar asynchronous kisa, watau. An canza lambar zuwa "db.query ("zaɓi..", aiki (sakamakon) {sakamakon sarrafawa});, wanda sarrafawa zai wuce nan take zuwa ƙarin lambar, kuma za a sarrafa sakamakon tambaya yayin da bayanai suka isa.

source: budenet.ru

Add a comment