Server-side JavaScript Node.js 14.0 kuburitswa

zvakaitika kusunungura Node.js 14.0, mapuratifomu ekumhanyisa network application muJavaScript. Node.js 14.0 ibazi rekutsigira kwenguva refu, asi chimiro ichi chichagoverwa muna Gumiguru, mushure mekugadzirisa. Node.js 14.0 ichatsigirwa kuitwa kusvika Kubvumbi 2023. Kuchengetwa kwebazi reLTS reNode.js 12.0 richagara kusvika Kubvumbi 2022, uye gore risati rapfuura LTS bazi 10.0 kusvika Kubvumbi 2021. Tsigiro yebazi re13.x inopera muna Chikumi wegore rino.

chikuru kuvandudzika:

  • Iko kugona kugadzira panhunzi kana pakaitika zvimwe zviitiko kwakagadzikana diagnostic report, iyo inoratidza zviitiko zvinobatsira kuongorora matambudziko akadai sekurovera, kukanganisa kwekuita, kudonha kwendangariro, inorema CPU mutoro, isingatarisirwe kukanganisa kukanganisa, nezvimwe.
  • Yakawedzera kuyedza API rutsigiro Async Local Storage nekushandiswa kwekirasi yeAsyncLocalStorage, inogona kushandiswa kugadzira asynchronous state ine vanobata zvinoenderana nekufona kwekufona uye zvivimbiso. AsyncLocalStorage inokutendera kuti uchengetedze data apo chikumbiro chewebhu chiri kugadziriswa, chiyeuchidzo chetambo-yenzvimbo yekuchengetedza mune mimwe mitauro.
  • Yakabviswa meseji yambiro pamusoro pechiyedzo kana ichiisa modules ECMAScript 6 yakabatana uye inotumirwa kunze kwenyika uchishandisa zvirevo zvekupinza uye kunze kwenyika. Panguva imwecheteyo, kushandiswa kweESM modules pachayo kunoramba kuri kuedza.
  • V8 injini yakagadziridzwa kune vhezheni 8.1 (1, 2, 3), iyo inosanganisira mitsva yekuita optimizations uye maficha akadai seatsva anonzwisisika concatenation opareta "??" (inodzosa operand yekurudyi kana kuruboshwe operand iri NULL kana isina kutsanangurwa, uye zvinopesana), iyo "?." yenguva imwe chete cheki yezvivakwa kana kufona (semuenzaniso, "db?.user?.name?.length" pasina cheki yekutanga), nzira yeIntl.DisplayName yekuwana mazita enzvimbo, nezvimwe.
  • Kudzokororwa kweiyo Streams API yakaitwa, yakanangana nekuvandudza kuenderana kweMitsipa APIs uye kubvisa misiyano mumafambiro ezvikamu zvakakosha zveNode.js. Semuyenzaniso, maitiro e http.OutgoingMessage ari pedyo ne stream.Writable, uye net.Socket yakafanana ne stream.Duplex. Iyo autoDestroy sarudzo inoiswa ku "chokwadi" nekukasira, zvinoreva kudana "_destroy" kana yapera.
  • Yakawedzera kuyedza API rutsigiro WASI (WebAssembly System Interface), kupa mashandisirwo esoftware yekudyidzana kwakananga neiyo inoshanda sisitimu (POSIX API yekushanda nemafaira, zvigadziko, nezvimwewo).
  • Kuwedzera zvinodiwa zve shanduro shoma compilers uye mapuratifomu: macOS 10.13 (High Sierra), GCC 6, Windows itsva 7/2008R2.

Ngatiyeukei kuti iyo Node.js chikuva inogona kushandiswa zvese kutsigirwa neserver yeWebhu maapplication uye kugadzira akajairwa mutengi uye server network zvirongwa. Kuwedzera kushanda kwezvikumbiro zveNode.js, nhamba huru ye muunganidzwa wemamodule, maunogona kuwana mamodule nekushandiswa kwemaseva uye vatengi HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, ma modules ekubatanidza neakasiyana siyana ewebhu masisitimu, WebSocket uye Ajax vanobata, vanobatanidza kuDBMS (MySQL, PostgreSQL, SQLite , MongoDB ), template injini, CSS injini, kushandiswa kwekriptographic algorithms uye mvumo masisitimu (OAuth), XML parsers.

Kubata nhamba huru yezvikumbiro zvakafanana, Node.js inoshandisa asynchronous code execution modhi yakavakirwa pane isiri-kuvhara chiitiko kugadzirisa uye kutsanangura callback vanobata. Nzira dzinotsigirwa dzekubatanidza kuwanda dzinosanganisira epoll, kqueue, /dev/poll, uye sarudza. Raibhurari inoshandiswa kuita multiplex connections libuv, inova superstructure pamusoro libev paUnix masisitimu uye pamusoro peIOCP paWindows. Raibhurari inoshandiswa kugadzira dziva reshinda libeio, yekuita mibvunzo yeDNS mune isiri-blocking mode inosanganiswa c-ares. Yese inofona system inokonzeresa kuvharika inoitwa mukati medziva reshinda uyezve, sevabati vechiratidzo, vanopfuudza mhedzisiro yebasa ravo kuburikidza nepombi isina kutaurwa zita. Kuitwa kweJavaScript kodhi kunovimbiswa kuburikidza nekushandiswa kweinjini yakagadzirwa neGoogle V8 (Uyezve, Microsoft iri kugadzira vhezheni yeNode.js ine Chakra-Core injini).

Pakati payo, Node.js yakafanana nemafuremu Perl AnyEvent, Ruby Chiitiko Machine, Python Twisted ΠΈ kuita zviitiko muTcl, asi chiitiko loop muNode.js yakavanzwa kubva kumugadziri uye yakafanana nekubata chiitiko muwebhu application inoshanda mubrowser. Paunenge uchinyora zvikumbiro zve node.js, zvinodikanwa kuti utarise zvakatemwa zvechirongwa chinofambiswa nechiitiko, semuenzaniso, pane kuita "var result = db.query("select..");" nekumirira kupedzwa kwebasa nekuzotevera kugadziriswa kwemigumisiro, Node.js inoshandisa nheyo yeasynchronous execution, i.e. iyo code inoshandurwa kuita "db.query ("select..", basa (result) {result processing});", umo kutonga kuchapfuura pakarepo kune imwe kodhi, uye mhinduro yemubvunzo ichagadziriswa sezvo data yasvika. .

Source: opennet.ru

Voeg