Platfòm JavaScript bò sèvè Node.js 18.0 disponib

Node.js 18.0 te lage, yon platfòm pou kouri aplikasyon rezo nan JavaScript. Node.js 18.0 klase kòm yon branch sipò alontèm, men estati sa a pral plase sèlman nan mwa Oktòb, apre estabilizasyon. Node.js 18.x pral sipòte jiska avril 2025. Antretyen branch LTS anvan Node.js 16.x pral dire jiska avril 2024, ak ane anvan dènye branch LTS 14.x jiska avril 2023. Branch 12.x LTS yo pral sispann nan dat 30 avril, epi yo pral sispann branch 17.x staging Node.js 1.x nan XNUMXye jen.

Gwo amelyorasyon:

  • Motè V8 la te mete ajou nan vèsyon 10.1, ki itilize nan Chromium 101. Konpare ak lage 17.9.0 nan Node.js, kounye a gen sipò pou karakteristik tankou metòd findLast ak findLastIndex pou jwenn eleman ki gen rapò ak fen nan. yon etalaj, ak fonksyon Intl.supportedValuesOf. Amelyore Intl.Locale API. Inisyalizasyon jaden klas ak metòd prive yo te akselere.
  • Eksperimantal fetch() API a aktive pa default, ki fèt pou chaje resous sou rezo a. Aplikasyon an baze sou kòd ki soti nan kliyan HTTP/1.1 undici epi li pi pre ke posib ak API ki sanble yo bay nan navigatè yo. Sa gen ladann sipò pou FormData, Headers, Request ak Response interfaces pou manipile HTTP demann ak repons. const res = tann chache('https://nodejs.org/api/documentation.json'); if (res.ok) { const data = tann res.json (); console.log(done); }
  • Yo te ajoute yon aplikasyon eksperimantal API Web Streams, ki bay aksè a kouran done yo resevwa sou rezo a. API a fè li posib pou ajoute pwòp moun k ap okipe w pou travay ak done pandan enfòmasyon yo rive sou rezo a, san w pa tann tout dosye a dwe telechaje. Objè ki disponib kounye a nan Node.js gen ladan ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, ak DecompressionStream.
  • Blob API a te deplase nan ki estab, sa ki pèmèt ou ankapsile done anvan tout koreksyon imuiabl pou itilize san danje nan fil travayè diferan.
  • BroadcastChannel API a vin estab, sa ki pèmèt ou òganize echanj mesaj nan mòd asynchrone nan fòma "yon sèl moun k ap resevwa - anpil moun".
  • Te ajoute nœud modil eksperimantal: tès pou kreye ak kouri tès nan JavaScript ki retounen rezilta nan fòma TAP (Test Anything Protocol).
  • Yo bay jenerasyon asanble yo pare pou Red Hat Enterprise Linux (RHEL) 8 ak lòt distribisyon ki baze sou Glibc 2.28+, ki gen ladan Debian 10 ak Ubuntu 20.04, osi byen ke pou macOS 10.15+. Akòz pwoblèm ak konstriksyon motè V8, kreyasyon 32-bit pou Windows te sispann tanporèman.
  • Bay yon opsyon eksperimantal pou konstwi yon ègzèkutabl Node.js ak konpozan itilizatè yo chwazi inisyalize nan demaraj. Pou defini eleman yo kòmanse, yo te ajoute opsyon "--node-snapshot-main" nan konfigirasyon script bati a, pou egzanp, "./configure -node-snapshot-main=marked.js; non non"

Platfòm Node.js la ka itilize tou de pou sipò bò sèvè nan aplikasyon entènèt, ak pou kreye pwogram rezo kliyan ak sèvè òdinè. Pou elaji fonksyonalite aplikasyon pou Node.js, yo te prepare yon gwo koleksyon modil, kote ou ka jwenn modil ak aplikasyon HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 serveurs ak kliyan, modil pou entegrasyon. ak plizyè kad entènèt, WebSocket ak Ajax, konektè nan DBMS (MySQL, PostgreSQL, SQLite, MongoDB), motè modèl, motè CSS, aplikasyon algoritm kriptografik ak sistèm otorizasyon (OAuth), analizeur XML.

Pou okipe yon gwo kantite demann paralèl, Node.js sèvi ak yon modèl ekzekisyon kòd asynchrone ki baze sou pwosesis evènman ki pa bloke ak defini moun kap okipe apèl. Metòd ki sipòte pou koneksyon multiplexage yo enkli epoll, kqueue, /dev/poll, epi chwazi. Pou koneksyon multiplexing, yo itilize bibliyotèk libuv la, ki se yon sipleman libev sou sistèm Unix ak IOCP sou Windows. Libeio bibliyotèk la itilize pou kreye yon pisin fil, epi c-ares entegre pou fè demann DNS nan yon mòd ki pa bloke. Tout apèl sistèm ki lakòz bloke yo egzekite nan pisin fil la epi answit, tankou moun k ap okipe siyal yo, pase rezilta travay yo tounen nan yon tiyo san non. Egzekisyon kòd JavaScript asire atravè itilizasyon motè V8 Google devlope (anplis de sa, Microsoft ap devlope yon vèsyon Node.js ak motè Chakra-Core).

Nan nwayo li yo, Node.js sanble ak Perl AnyEvent, Ruby Evènman Machine, Python Twisted kad ak aplikasyon evènman nan Tcl, men bouk evènman an nan Node.js kache nan pwomotè a epi li sanble ak pwosesis evènman nan yon aplikasyon entènèt. kouri nan navigatè a. Lè w ap ekri aplikasyon pou node.js, li nesesè pou w pran an kont spesifik pwogramasyon ki baze sou evènman an, pa egzanp, olye pou w fè "var result = db.query ("select..");" ak ap tann pou fini an nan travay ak pwosesis ki vin apre nan rezilta yo, Node.js sèvi ak prensip la nan ekzekisyon asynchrone, i.e. se kòd la transfòme nan "db.query ("select..", fonksyon (rezilta) {pwosesis rezilta});", nan ki kontwòl pral imedyatman pase nan plis kòd, epi rezilta rechèch la pral trete kòm done rive.

Sous: opennet.ru

Add nouvo kòmantè