Server-side JavaScript platform Node.js 18.0 iripo

Node.js 18.0 yakaburitswa, chikuva chekushandisa network application muJavaScript. Node.js 18.0 inorondedzerwa sebazi rekutsigira kwenguva refu, asi chimiro ichi chichagoverwa munaOctober chete, mushure mekugadzirisa. Node.js 18.x ichatsigirwa kusvika Kubvumbi 2025. Kuchengetwa kwebazi reLTS rapfuura reNode.js 16.x richagara kusvika Kubvumbi 2024, uye gore risati rapfuura LTS bazi 14.x kusvika Kubvumbi 2023. Bazi re12.x LTS richamiswa musi wa30 Kubvumbi, uye bazi reNode.js 17.x richamiswa musi waChikumi 1st.

Mabhindauko makuru:

  • Injini yeV8 yakagadziridzwa kushanduro 10.1, iyo inoshandiswa muChromium 101. Kuenzaniswa ne17.9.0 kusunungurwa kweNode.js, ikozvino kune kutsigirwa kwezvinhu zvakadai sekuwanaLast uye findLastIndex nzira dzekutsvaga zvinhu zvine chokuita nekuguma kwe array, uye Intl.supportedValuesOf function. Purogiramu inonzi Intl.Locale. Kutanga kweminda yekirasi uye nzira dzepachivande kwakakurumidza.
  • The experimental fetch() API inogoneswa nekusingaperi, yakagadzirirwa kurodha zviwanikwa panetiweki. Kuitwa kwacho kunoenderana nekodhi kubva kuHTTP/1.1 undici mutengi uye iri padyo sezvinobvira kune yakafanana API yakapihwa mumabhurawuza. Izvi zvinosanganisira tsigiro yeFormData, Misoro, Chikumbiro uye Mhinduro yekusangana yekunyengedza chikumbiro cheHTTP uye misoro yemhinduro. const res = kumirira kutora('https://nodejs.org/api/documentation.json'); kana (res.ok) {const data = wakamirira res.json (); console.log(data); }
  • Kuitwa kwekuyedza kweWeb Streams API kwawedzerwa, kupa mukana kune data nzizi dzakagamuchirwa pamusoro penetiweki. Iyo API inoita kuti zvikwanise kuwedzera vako vanobata kuti vashande nedata sezvo ruzivo runosvika pane network, pasina kumirira kuti faira rese ritorwe. Zvinhu zvava kuwanikwa muNode.js zvinosanganisira ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, uye DecompressionStream.
  • Iyo Blob API yakafambiswa kune yakagadzikana, ichikubvumidza iwe kuvharidzira isingachinjiki data mbishi kuti ishandiswe zvakachengeteka mushinda dzakasiyana dzevashandi.
  • Iyo BroadcastChannel API yakatsiga, ichikubvumidza kuti uronge kuchinjana kwemameseji mune asynchronous modhi mu "one sender - vakawanda vanogamuchira" fomati.
  • Yakawedzerwa yekuyedza module node: bvunzo yekugadzira uye kumhanya bvunzo muJavaScript inodzosa mhedzisiro muTAP (Yedza Chero Chinhu Protocol) fomati.
  • Chizvarwa chemagungano akagadzirira-akagadzirwa eRed Hat Enterprise Linux (RHEL) 8 uye kumwe kugoverwa kwakavakirwa paGlibc 2.28+, kusanganisira Debian 10 uye Ubuntu 20.04, pamwe neye macOS 10.15+ inopihwa. Nekuda kwematambudziko neinjini yeV8 kuvaka, kusikwa kwe32-bit kuvaka kweWindows kwakamiswa kwenguva.
  • Yakapa sarudzo yekuyedza yekuvaka Node.js inogona kuitiswa ine mushandisi-akasarudzwa zvikamu zvinotangwa pakutanga. Kuti utsanangure zvikamu zvekutanga, "--node-snapshot-main" sarudzo yakawedzerwa kune configure kuvaka script, somuenzaniso, "./configure -node-snapshot-main=marked.js; zita node"

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