Platforma JavaScript-a server-side Node.js 18.0 heye

Node.js 18.0 hate berdan, platformek ji bo xebitandina sepanên torê di JavaScript de. Node.js 18.0 wekî şaxek piştevaniya dirêj-dirêj tête dabeş kirin, lê ev statû dê tenê di meha cotmehê de, piştî stabilîzasyonê, were destnîşankirin. Node.js 18.x dê heya Nîsana 2025-an were piştgirî kirin. Lênihêrîna şaxê LTS-ya berê ya Node.js 16.x dê heya Nîsana 2024-an, û sala berî şaxê LTS-ya paşîn 14.x heya Avrêl 2023-ê bidome. Şaxa 12.x LTS dê di 30-ê Avrêlê de were sekinandin, û şaxê qonaxa Node.js 17.x dê di 1-ê Hezîranê de were sekinandin.

Pêşveçûnên sereke:

  • Motora V8 ji bo guhertoya 10.1-ê hatî nûve kirin, ku di Chromium 101-ê de tê bikar anîn. Li gorî serbestberdana 17.9.0 ya Node.js, naha ji bo dîtina hêmanên li gorî dawiya dawîn piştgirî ji taybetmendiyên mîna findLast û findLastIndex re heye. array, û fonksiyona Intl.supportedValuesOf. API-ya Intl.Locale çêtir kirin. Destpêkirina zeviyên polê û rêbazên taybet bilez kirin.
  • Fetch() API-ya ceribandinê ji hêla xwerû ve hatî çalak kirin, ji bo barkirina çavkaniyan li ser torê hatî çêkirin. Pêkanîn li ser koda ji muwekîlê HTTP/1.1 undici-yê ye û bi qasî ku pêkan e nêzî API-ya wekhev a di gerokan de tê peyda kirin. Di vê yekê de piştgirî ji bo navberên FormData, Sernivîs, Daxwaz û Bersiv ji bo manîpulekirina sernavên daxwaz û bersivê yên HTTP. const res = await fetch('https://nodejs.org/api/documentation.json'); eger (res.ok) {const data = li benda res.json(); console.log(data); }
  • Pêkanîna ezmûnî ya Web Streams API-yê hate zêdekirin, ku gihîştina herikên daneyên ku li ser torê têne wergirtin peyda dike. API mimkun dike ku hûn rêvebirên xwe lê zêde bikin da ku bi daneyan re bixebitin ji ber ku agahdarî digihîje torê, bêyî ku li benda dakêşana tevahî pelê bisekinin. Tiştên ku naha di Node.js de peyda dibin ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, û DecompressionStream hene.
  • Blob API-ya bi îstîqrar hate veguheztin, ku destûrê dide te ku hûn daneyên xav ên neguhêrbar ji bo karanîna ewle di mijarên cihêreng ên karker de vehewînin.
  • BroadcastChannel API-ya stabîl hatiye çêkirin, ku dihêle hûn di forma "yek şander - gelek wergir" de veguheztina peyaman di moda asynchronous de organîze bikin.
  • Nodeya modulê ya ceribandinê hate zêdekirin: ceribandina ji bo çêkirin û meşandina ceribandinên di JavaScriptê de ku encamên bi formata TAP (Protokola Tiştek Biceribîne) vedigerînin.
  • Nifşa civînên amade ji bo Red Hat Enterprise Linux (RHEL) 8 û belavkirinên din ên li ser bingeha Glibc 2.28+, tevî Debian 10 û Ubuntu 20.04, û her weha ji bo macOS 10.15+ tê peyda kirin. Ji ber pirsgirêkên di çêkirina motora V8 de, çêkirina avahiyên 32-bit ji bo Windows-ê bi demkî hate sekinandin.
  • Vebijarkek ceribandinê peyda kir da ku bi hêmanên hilbijartî yên bikarhêner ên ku di destpêkê de hatine destpêkirin de Node.js-ya îcrakar ava bike. Ji bo danasîna pêkhateyên destpêkê, vebijarka "--node-snapshot-main" li skrîpta çêkirinê ya mîhengê hate zêdekirin, mînakî, "./configure —node-snapshot-main=marked.js; girêka navê"

Platforma Node.js hem ji bo domandina servera serîlêdanên Webê hem jî ji bo afirandina bernameyên torê yên xerîdar û serverê yên birêkûpêk dikare were bikar anîn. Ji bo berfirehkirina fonksiyona sepanan ji bo Node.js, berhevokek mezin a modulan hatiye amadekirin, ku tê de hûn dikarin modulên bi pêkanîna HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 pêşkêşker û xerîdar, modulên ji bo yekbûnê bibînin. bi çarçoveyên cûrbecûr yên malperê, hilgirên WebSocket û Ajax, girêdanên DBMS (MySQL, PostgreSQL, SQLite, MongoDB), motorên şablonê, motorên CSS, pêkanînên algorîtmayên krîpto û pergalên destûrnameyê (OAuth), parserên XML.

Ji bo ku pêvajokirina hejmareke mezin ji daxwazên paralel pêk were, Node.js modelek darvekirina kodê ya asynchronous li ser bingeha destwerdana bûyera ne-astengker û pênase rêvekerên vegerandina bangê bikar tîne. Rêbazên piştgirî ji bo girêdanên piralî epoll, kqueue, / dev/poll, û hilbijartî ne. Ji bo piralîkirina girêdanê, pirtûkxaneya libuv tê bikar anîn, ku ji bo libev li ser pergalên Unix û IOCP li ser Windows-ê pêvekek e. Pirtûkxaneya libeio ji bo afirandina hewzek tîrêjê tê bikar anîn, û c-ares ji bo pêkanîna pirsên DNS-ê di moda ne-astengkirinê de tête yek kirin. Hemî bangên pergalê yên ku dibin sedema astengkirinê di hundurê hewza tîrêjê de têne darve kirin û dûv re, mîna hilgirên sînyalê, encama xebata xwe bi boriyek (boriyek) nenavkirî veguhezînin. Bicîhkirina koda JavaScriptê bi karanîna motora V8 ya ku ji hêla Google ve hatî pêşve xistin ve tê peyda kirin (ji bilî vê, Microsoft guhertoyek Node.js bi motora Chakra-Core ve pêşve dike).

Di bingeha xwe de, Node.js dişibihe Perl AnyEvent, Ruby Event Machine, çarçoveyên Python Twisted, û pêkanîna bûyera Tcl-ê, lê lûleya bûyerê li Node.js ji pêşdebiran veşartî ye û dişibe birêvebirina bûyerê di serîlêdana tevnerê de ku dixebite. di gerokê de. Dema ku serîlêdanan ji bo node.js dinivîsin, hûn hewce ne ku hûn taybetmendiyên bernamesaziya bûyer-rêveberê binirxînin, mînakî, li şûna ku hûn "var result = db.query("hilbijêre..");" digel li benda qedandina kar û dûv re hilberandina encaman, Node.js prensîba darvekirina asynchronous bikar tîne, ango. kod tê guheztin "db.query("hilbijêre..", fonksiyona (encam) {pêvajoya encam});", ku tê de kontrol dê tavilê derbasî koda din bibe, û encama pirsê dê wekî daneyan were hilberandin.

Source: opennet.ru

Add a comment