Server-side JavaScript platform Node.js 19.0 iripo

Node.js 19.0, chikuva chekushandisa network application muJavaScript, yakaburitswa. Node.js 19 ibazi rerutsigiro renguva dzose rine zvigadziriso zviripo kusvika June 2023. Mumazuva anotevera, kudzikamiswa kwebazi reNode.js 18 kuchapedzwa, iyo ichagamuchira LTS mamiriro uye ichatsigirwa kusvika Kubvumbi 2025. Kuchengetwa kwebazi reLTS rapfuura reNode.js 16.0 richagara kusvika Gunyana 2023, uye gore rakapfuura rekupedzisira LTS bazi 14.0 kusvika Kubvumbi 2023.

Mabhindauko makuru:

  • Injini yeV8 yakagadziridzwa kushanduro 10.7, yakashandiswa muChromium 107. Pakati pekuchinja kwejini inofananidzwa nebazi reNode.js 18, kushandiswa kwechikamu chechitatu cheIntl.NumberFormat API inocherechedzwa, iyo inowedzera maitiro matsva maitiroRange. (), fomatiRangeToParts() uye sarudzaRange(), kuunganidzwa kwemaseti, sarudzo nyowani dzekutenderedza nekuseta chaiko, kugona kududzira tambo senhamba dzedesimali. Izvo zvinosanganisirwa zvinoenderana llhttp 8.1.0 uye npm 8.19.2 zvakagadziridzwa zvakare.
  • Muyedzo we "node -watch" murairo wakatsanangurwa nekushandiswa kwewachi modhi iyo inovimbisa kuti maitiro anotangazve kana faira rakatengeswa richinge rachinja (semuenzaniso, kana "node -watch index.js" yaitwa, maitiro achaitwa. yakatanga zvakare kana index.js yachinja).
  • Kune ese anobuda eHTTP/HTTPS ekubatanidza, tsigiro yeHTTP 1.1 Chengetedza-Upenyu meshini inogoneswa, iyo inosiya iyo yekubatanidza yakavhurika kwenguva yakati kuti igadzirise akati wandei HTTP zvikumbiro mukati mekubatana kumwe chete. Chengeta-Upenyu inotarisirwa kuvandudza kuburikidza nekuita. Nekumisikidza, iyo yekubatanidza yakavhurika timeout inoiswa kumasekonzi mashanu. Tsigiro yekupatsanura iyo Chengeta-Alive HTTP musoro mumhinduro dzeseva yakawedzerwa kuHTTP mutengi kuita, uye otomatiki kubviswa kwevatengi vasingashande vachishandisa Keep-Alive kwakawedzerwa kuNode.js HTTP server kuita.
  • Iyo WebCrypto API yakaendeswa kune yakagadzikana chikamu, kunze kwemabasa achishandisa Ed25519, Ed448, X25519 uye X448 algorithms. Kuti uwane iyo WebCrypto module iwe unogona ikozvino kushandisa globalThis.crypto kana zvinoda('node:crypto').webcrypto.
  • Tsigiro yeDTrace, SystemTap uye ETW (Event Tracing yeWindows) maturusi ekutsvaga akabviswa, kuchengetedzwa kwaionekwa sekusakodzera nekuda kwekuoma kwekuichengeta kusvika parizvino pasina chirongwa chakakodzera chekutsigira.

Iyo Node.js chikuva inogona kushandiswa ese ari maviri sevha-padivi rutsigiro rweWebhu maapplication, uye kugadzira akajairwa mutengi uye server network zvirongwa. Kuti uwedzere kushanda kwezvikumbiro zveNode.js, muunganidzwa wakakura wemamodule wakagadzirirwa, umo iwe unogona kuwana mamodule nekushandiswa kweHTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 maseva uye vatengi, ma module ekubatanidza. ine akasiyana webhu masisitimu, WebSocket uye Ajax vanobata, zvinobatanidza kuDBMS (MySQL, PostgreSQL, SQLite, MongoDB), template injini, CSS injini, kuitiswa kwecryptographic algorithms uye mvumo masisitimu (OAuth), XML parsers.

Kuti ive nechokwadi chekugadziriswa kwenhamba huru yezvikumbiro zvakafanana, Node.js inoshandisa asynchronous code execution modhi yakavakirwa pane isiri-kuvhara chiitiko kubata uye tsananguro yevanobata callback. Nzira dzinotsigirwa dzekubatanidza kuwanda ndeye epoll, kqueue, /dev/poll, uye sarudza. Nekubatanidza kuwanda, raibhurari ye libuv inoshandiswa, inova yekuwedzera ye libev pane Unix masisitimu uye IOCP paWindows. Raibhurari yelibeio inoshandiswa kugadzira dziva reshinda, uye c-ares inosanganiswa kuita mibvunzo yeDNS mune isiri-yekuvharisa mode. Yese inofona system inokonzeresa kuvharika inoitwa mukati medziva reshinda uyezve, sevabati vechiratidzo, vanoendesa mhedzisiro yebasa ravo kumashure kuburikidza nepombi isina zita (pombi). Kuitwa kweJavaScript code kunopiwa kuburikidza nekushandiswa kweV8 injini yakagadzirwa neGoogle (nekuwedzera, Microsoft iri kugadzira shanduro yeNode.js neChakra-Core injini).

Pakati payo, Node.js yakafanana nePerl AnyEvent, Ruby Event Machine, Python Twisted frameworks, uye Tcl chiitiko chekuita, asi chiitiko loop muNode.js yakavanzwa kubva kumugadziri uye yakafanana nekubata chiitiko muwebhu application inoshanda. mubrowser. Paunenge uchinyora zvikumbiro zve node.js, iwe unofanirwa kufunga nezve chaiyo-inofambiswa nechiitiko chirongwa, semuenzaniso, pane kuita "var result = db.query("select..");" nekumirira kupedzwa kwebasa uye kunotevera kugadziriswa kwemigumisiro, Node.js inoshandisa nheyo yeasynchronous execution, i.e. iyo code inoshandurwa kuita "db.query("select..", function (result) {result processing});", umo kutonga kuchapfuura pakarepo kune imwe kodhi, uye mhinduro yemubvunzo ichagadziriswa kana data yasvika.

Source: opennet.ru

Voeg