Dandalin JavaScript na gefen uwar garken Node.js 21.0 akwai

An saki Node.js 21.0, dandamali don gudanar da aikace-aikacen cibiyar sadarwa a JavaScript. Za a tallafawa reshen Node.js 21.0 na tsawon watanni 6. A cikin kwanaki masu zuwa, za a kammala daidaitawar reshen Node.js 20, wanda zai karɓi matsayin LTS kuma za a tallafa masa har zuwa Afrilu 2026. Kula da reshen LTS na baya na Node.js 18.0 zai šauki har zuwa Satumba 2025, da kuma shekarar da ta gabata reshen LTS 16.0 har zuwa Afrilu 2024.

Babban haɓakawa:

  • An ayyana Fetch API ɗin tsayayye, an tsara shi don loda albarkatu akan hanyar sadarwar da sauƙaƙe rubuta lambar JavaScript ta duniya wacce ta dace da aiki akan sabar da ɓangarorin abokin ciniki. Aiwatar ta dogara ne akan lamba daga abokin ciniki na HTTP/1.1 undici kuma yana da kusanci sosai ga irin wannan API ɗin da aka bayar a cikin masu bincike. API ɗin ya haɗa da hanyar debo() da abubuwa masu kai. Buƙatu da Amsa, wakiltar masu kan HTTP, buƙata da amsawa. const res = jiran kawo ('https://nodejs.org/api/documentation.json'); idan (res.ok) {const data = jira res.json (); console.log (bayanai); }
  • Goyon bayan API na WebStreams, wanda ke ba da damar yin amfani da rafukan bayanan da aka karɓa akan hanyar sadarwar, an daidaita su. API ɗin yana ba da damar ƙara masu sarrafa naku waɗanda ke aiki tare da bayanai yayin da bayanai ke isa kan hanyar sadarwar, ba tare da jiran ɗaukan fayil ɗin gabaɗaya ba. Abubuwan da ake samu a Node.js sun haɗa da ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, da DecompressionStream.
  • Ƙara aiwatar da gwaji na abokin ciniki na WebSocket, mai dacewa da masu bincike. Don kunna goyan bayan WebSocket, an ba da tutar “--experimental-websocket”.
  • An ƙara yanayin gwaji don amfani da tsoho aiwatarwa na JavaScript modules ESM (Modules ECMAScript, da aka yi amfani da su a cikin na'urori don masu bincike) maimakon CommonJS (takamaiman zuwa Node.js). Canjin ba ya shafar tsarinsa wanda aka ayyana shi ta hanyar "nau'in" THEGEL THETH, ko a bayyane yake saboda fadada fayil ɗin (.masu ga ESM, .cjs don CommonJS). Koyaya, na'urorin da ba a bayyana su kai tsaye azaman CommonJS (misali, suna da tsawo na “.js”) za a kula da su azaman ƙirar ESM lokacin da sabon yanayin ke kunna. Don kunna sabon saitunan tsarin, an ƙaddamar da tuta "-- gwaji-default-type".
  • An sabunta injin V8 zuwa nau'in 11.8, wanda aka yi amfani da shi a cikin Chromium 118, wanda yanzu yana goyan bayan hanyar ArrayBuffer.prototype.transfer, ikon rukuni-rukuni (hanyar rukuni) da umarnin WebAssembly don sarrafa ma'auni (i32.add, i32.sub, i32.mul, i64 .add, i64.sub da i64.mul).
  • An dakatar da goyan bayan mai kula da preload na duniya, don goyon bayan yin rajista da fara kira don saita kayayyaki.
  • An ƙara wani zaɓi na "flush" zuwa aikin fs.writeFile don tilasta bayanan da za a zubar da su zuwa kullun bayan kowane aikin rubutawa.
  • Inganta aikin lambar da ke da alaƙa da fassarar URL, debo API, rafuka, kumburi: fs, da HTTP.
  • Ƙara abu mai kewayawa na duniya. Misali, don samun bayanai game da adadin maƙallan CPU, zaku iya amfani da kayan navigator.hardwareConcurrency.
  • A cikin sigar “—gwaji”, an ƙara goyan baya ga abin rufe fuska na glob don zaɓar gwaje-gwajen da za a gudanar (misali, zaku iya tantance “—gwajin **/*.test.js.”).
  • An sabunta manajan fakitin npm 10.2.0 da llhttp 9.1.2 parser.
  • An dakatar da tallafin Visual Studio 2019 da nau'ikan macOS waɗanda suka girmi 11.0.

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