Scaoileadh ardán JavaScript ar thaobh an fhreastalaí Node.js 17.0

Eisíodh Node.js 17.0, ardán chun feidhmchláir líonra a rith i JavaScript. Is brainse tacaíochta rialta é Node.js 17.0 a leanfaidh de bheith ag fáil nuashonruithe go dtí Meitheamh 2022. Sna laethanta amach romhainn, cuirfear cobhsú brainse Node.js 16 i gcrích, a gheobhaidh stádas LTS agus tacófar leis go dtí Aibreán 2024. Mairfidh cothabháil an bhrainse LTS roimhe seo de Node.js 14.0 go dtí Aibreán 2023, agus an bhliain roimh bhrainse LTS deiridh 12.0 go dtí Aibreán 2022.

Príomhfheabhsúcháin:

  • Tá an t-inneall V8 nuashonraithe go leagan 9.5.
  • Leanadh ar aghaidh le leaganacha den API bunúsach a chur i bhfeidhm bunaithe ar úsáid chomhéadan ríomhaireachta asincrónach Promise. Chomh maith leis na APIanna Timers Promises agus Streams Promises a tairgeadh roimhe seo, tugann Node.js 17.0 isteach an Readline Promise API chun sonraí a léamh líne ar líne ag baint úsáide as an modúl léimhlíne. allmhairiú * mar léimhlíne ó 'nód:readline/geallta'; iompórtáil { stdin mar ionchur, stdout mar aschur } ó 'próiseas'; const rl = readline.createInterface({ ionchur, aschur }); const answer = fanacht rl.question('Cad é do bharúil ar Node.js?'); console.log('Go raibh maith agat as d'aiseolas luachmhar: ${freagra}'); rl. dún();
  • Nuashonraíodh an leabharlann OpenSSL a soláthraíodh go leagan 3.0 (úsáidtear forc quictls/openssl le tacaíocht prótacail QUIC cumasaithe).
  • Cumasaíodh an leagan Node.js le taispeáint i rianta stack atá aschuir i gcás earráidí marfacha a chuireann deireadh leis an bhfeidhmchlár.

Ina theannta sin, is féidir linn deireadh a chur le dhá leochaileacht a lua sna brainsí reatha de Node.js (CVE-2021-22959, CVE-2021-22960), a fhágann gur féidir ionsaithe “Smuigleáil Iarratas HTTP” (HRS) a dhéanamh, a lig dúinn ding isteach in ábhar iarratais úsáideoirí eile a phróiseáiltear sa snáithe céanna idir an t-éadan agus an t-inneall (mar shampla, is féidir cód mailíseach JavaScript a chur isteach i seisiún úsáideora eile). Nochtfar sonraí níos déanaí, ach faoi láthair níl a fhios againn ach go bhfuil na fadhbanna ann mar gheall ar láimhseáil mícheart spásanna idir an t-ainm ceanntásc HTTP agus an idirstad, chomh maith le láimhseáil éagsúil ar charachtair aisiompair iompair agus beathaithe líne sa bhloc paraiméadar a úsáidtear nuair a bhítear ag tarchur. an comhlacht iarratais ina chodanna sa mhodh “chuntar”

Meabhraímid gur féidir an t-ardán Node.js a úsáid chun tacú le feidhmchláir Ghréasáin ar thaobh an fhreastalaí agus chun gnáthchláir líonra cliant agus freastalaí a chruthú. Chun feidhmiúlacht na n-iarratas ar Node.js a leathnú, ullmhaíodh bailiúchán mór modúl, inar féidir leat modúil a aimsiú le cur i bhfeidhm HTTP, SMTP, XMPP, DNS, FTP, IMAP, freastalaithe POP3 agus cliaint, modúil le haghaidh comhtháthú le creataí gréasáin éagsúla, láimhseálaithe WebSocket agus Ajax , nascóirí le DBMS (MySQL, PostgreSQL, SQLite, MongoDB), innill teimpléid, innill CSS, feidhmiú halgartaim chripteagrafach agus córais údaraithe (OAuth), parsálaithe XML.

Chun próiseáil líon mór iarrataí comhthreomhara a áirithiú, úsáideann Node.js samhail forghníomhaithe cód asincrónach bunaithe ar láimhseáil imeachtaí neamh-bhloic agus ar shainiú láimhseálaithe glao-ais. Is iad na modhanna tacaithe le haghaidh naisc ilphléacsála ná epoll, kqueue, /dev/poll, agus roghnaigh. Le haghaidh ilphléacsáil naisc, úsáidtear an leabharlann libuv, atá ina breiseán do libev ar chórais Unix agus IOCP ar Windows. Úsáidtear an leabharlann libeio chun linn snáithe a chruthú, agus déantar c-ares a chomhtháthú chun fiosrúcháin DNS a dhéanamh i mód neamh-bhloic. Déantar na glaonna córais go léir is cúis le blocáil taobh istigh den linn snáithe agus ansin, cosúil le láimhseálaithe comhartha, aistrítear toradh a gcuid oibre ar ais trí phíobán gan ainm (píopa). Soláthraítear forghníomhú cód JavaScript trí úsáid a bhaint as an inneall V8 atá forbartha ag Google (ina theannta sin, tá Microsoft ag forbairt leagan de Node.js leis an inneall Chakra-Core).

Ag a chroí, tá Node.js cosúil leis na creataí Perl AnyEvent, Ruby Event Machine, Python Twisted, agus cur i bhfeidhm imeacht Tcl, ach tá lúb na hócáide i Node.js i bhfolach ón bhforbróir agus cosúil le láimhseáil imeachtaí in iarratas gréasáin a ritheann. sa bhrabhsálaí. Agus iarratais á scríobh agat le haghaidh nód.js, ní mór duit na sonraí a bhaineann le ríomhchlárú faoi stiúir imeachtaí a mheas, mar shampla, in ionad "var result = db.query ("roghnaigh..");" le fanacht le críochnú na hoibre agus próiseáil na dtorthaí ina dhiaidh sin, úsáideann Node.js prionsabal an fhorghníomhaithe asincrónach, i.e. déantar an cód a chlaochlú go "db.query" ("select..", function (toradh) {próiseáil torthaí});", ina gcuirfear an rialú ar aghaidh chuig an gcód breise láithreach, agus déanfar toradh an cheist a phróiseáil de réir mar a thagann na sonraí.

Foinse: oscailtenet.ru

Add a comment