Sethala sa JavaScript se lehlakoreng la seva Node.js 18.0 se fumaneha

Node.js 18.0 e ile ea lokolloa, sethala sa ho tsamaisa lits'ebetso tsa marang-rang ho JavaScript. Node.js 18.0 e khetholloa e le lekala la ts'ehetso ea nako e telele, empa boemo bona bo tla abeloa feela ka October, ka mor'a ho tsitsa. Node.js 18.x e tla tšehetsoa ho fihlela ka Mmesa 2025. Tlhokomelo ea lekala la pele la LTS la Node.js 16.x e tla tšoarella ho fihlela Mmesa 2024, le selemo pele ho lekala la LTS la ho qetela 14.x ho fihlela Mmesa 2023. Lekala la 12.x LTS le tla khaotsoa ka la 30 Mmesa, 'me lekala la Node.js 17.x le tla emisoa ka la 1 Phuptjane.

Lintlafatso tsa mantlha:

  • Enjene ea V8 e ntlafalitsoe ho mofuta oa 10.1, e sebelisoang ho Chromium 101. Ha e bapisoa le tokollo ea 17.9.0 ea Node.js, hona joale ho na le ts'ehetso ea likarolo tse kang findLast le findLastIndex mekhoa ea ho fumana likarolo tse amanang le qetellong ea lethathamo, le tšebetso ea Intl.supportedValuesOf. API e ntlafalitsoeng ea Intl.Locale. Ho qala ha masimo a litlelase le mekhoa ea poraefete ho potlakisitsoe.
  • The experimental fetch() API e lumelloa ka ho sa feleng, e etselitsoe ho kenya lisebelisoa ka marang-rang. Ts'ebetsong e ipapisitse le khoutu e tsoang ho moreki oa HTTP/1.1 undici mme e haufi haholo le API e ts'oanang e fanoeng ho libatli. Sena se kenyelletsa tšehetso ea FormData, Headers, Request and Response interfaces bakeng sa ho laola kopo ea HTTP le lihlooho tsa likarabo. const res = emela ho lata('https://nodejs.org/api/documentation.json'); haeba (res.ok) {consst data = wait res.json(); console.log(data); }
  • Ho kentsoe ts'ebetsong ea liteko tsa Web Streams API, e fanang ka phihlello ea litaba tsa data tse amoheloang marang-rang. API e etsa hore ho khonehe ho eketsa bahlokomeli ba hau ho sebetsa le data ha tlhahisoleseding e fihla holim'a marang-rang, ntle le ho emela hore faele eohle e kopitsoe. Lintho tse fumanehang hona joale ho Node.js li kenyelletsa ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, le DecompressionStream.
  • Blob API e se e tsitsitse, e u lumella ho kenyelletsa data e tala e ke keng ea fetoha bakeng sa ts'ebeliso e bolokehileng likhoeleng tse fapaneng tsa basebetsi.
  • API ea BroadcastChannel e entsoe e tsitsitse, e u lumella ho hlophisa phapanyetsano ea melaetsa ka mokhoa o sa lumellaneng ka mokhoa oa "moromeli a le mong - ba bangata ba amohelang".
  • E kentsoe liteko tsa module node:teko bakeng sa ho theha le ho etsa liteko ho JavaScript tse khutlisetsang sephetho ka sebopeho sa TAP (Test Anything Protocol).
  • Ho fanoe ka mefuta ea likopano tse seng li entsoe bakeng sa Red Hat Enterprise Linux (RHEL) 8 le liphaello tse ling tse thehiloeng ho Glibc 2.28+, ho kenyeletsoa Debian 10 le Ubuntu 20.04, hammoho le macOS 10.15+. Ka lebaka la mathata a kaho ea enjene ea V8, ho theoa ha 32-bit bakeng sa Windows ho emisitsoe ka nakoana.
  • E fane ka boikhethelo ba ho aha Node.js e ka sebelisoang ka likarolo tse khethiloeng ke basebelisi tse qaliloeng qalong. Ho hlalosa likarolo tsa ho qala, khetho ea "--node-snapshot-main" e kentsoe ho configure build script, mohlala, "./configure -node-snapshot-main=marked.js; node ea lebitso"

Sethala sa Node.js se ka sebelisoa ka bobeli bakeng sa tlhokomelo ea li-server tsa lits'ebetso tsa Webo le ho theha mananeo a tloaelehileng a bareki le marang-rang. Ho holisa ts'ebetso ea lits'ebetso tsa Node.js, ho lokiselitsoe pokello e kholo ea li-module, tseo ho tsona u ka fumanang li-module tse nang le ts'ebetsong ea HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 li-server le bareki, li-module tsa ho kopanya. ka mekhoa e fapaneng ea marang-rang, li-WebSocket le li-Ajax handlers , li-connectors tsa DBMS (MySQL, PostgreSQL, SQLite, MongoDB), li-engines tsa templating, lienjineri tsa CSS, ts'ebetsong ea li-algorithms tsa crypto le litsamaiso tsa tumello (OAuth), li-parser tsa XML.

Ho netefatsa ts'ebetso ea palo e kholo ea likopo tse ts'oanang, Node.js e sebelisa mokhoa o sa ts'oaneng oa ts'ebetso oa khoutu o ipapisitseng le ts'ebetso e sa thibeleng ea ketsahalo le tlhaloso ea batšoantšisi ba callback. Mekhoa e tšehelitsoeng bakeng sa likhokahano tsa multiplexing ke epoll, kqueue, /dev/poll, le khetha. Bakeng sa ho kopanya li-multiplexing, ho sebelisoa laeborari ea libuv, e leng tlatsetso bakeng sa libev lits'ebetsong tsa Unix le IOCP ho Windows. Laebrari ea libeio e sebelisetsoa ho etsa letamo la likhoele, 'me li-c-ares li kopantsoe ho etsa lipotso tsa DNS ka mokhoa o sa thibeleng. Mehala eohle ea sistimi e bakang thibelo e etsoa ka har'a letamo la likhoele, ebe, joalo ka batšoasi ba matšoao, ba fetisetsa sephetho sa mosebetsi oa bona ka phala e sa boleloang ka lebitso (pipe). Ts'ebetso ea khoutu ea JavaScript e fanoa ka ts'ebeliso ea enjene ea V8 e ntlafalitsoeng ke Google (ho feta moo, Microsoft e nts'etsapele mofuta oa Node.js ka enjene ea Chakra-Core).

Motheong oa eona, Node.js e tšoana le Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, le ts'ebetsong ea ketsahalo ea Tcl, empa leqhubu la ketsahalo ho Node.js le patiloe ho moqapi 'me le tšoana le ketsahalo ea ho sebetsana le ts'ebeliso ea websaete e sebetsang. ho seshebisi. Ha u ngola likopo tsa node.js, u lokela ho nahana ka lintlha tse tobileng tsa lenaneo le tsamaisoang ke liketsahalo, mohlala, ho e-na le ho etsa "var result = db.query("select..");" ka ho emela ho phethoa ha mosebetsi le ts'ebetso e latelang ea liphetho, Node.js e sebelisa molao-motheo oa ts'ebetso ea asynchronous, i.e. khoutu e fetoloa "db.query ("khetha ..", mosebetsi (sephetho) {result processing});", moo taolo e tla fetela hang-hang ho khoutu e eketsehileng, 'me sephetho sa potso se tla sebetsoa ha data e fihla.

Source: opennet.ru

Eketsa ka tlhaloso