Ho lokolloa ha JavaScript Node.js 14.0 ka lehlakoreng la seva

etsahetse lokolla Node.js 14.0, sethala sa ho tsamaisa lits'ebetso tsa marang-rang ho JavaScript. Node.js 14.0 ke lekala la ts'ehetso ea nako e telele, empa boemo bona bo tla fuoa feela ka October, ka mor'a ho tsitsisa. Node.js 14.0 e tla tšehetsoa phethahatsoa ho fihlela ka Mmesa 2023. Tlhokomelo ea lekala la pele la LTS la Node.js 12.0 e tla tšoarella ho fihlela ka Mmesa 2022, le selemo pele ho LTS lekala la 10.0 ho fihlela Mmesa 2021. Tšehetso ea lekala la 13.x e tla fela ka Phuptjane selemong sena.

ka sehloohong ntlafatso:

  • Bokhoni ba ho hlahisa ka ho fofa kapa ha ho etsahala liketsahalo tse itseng bo tsitsitse litlaleho tsa tlhahlobo, e bonts'ang liketsahalo tse thusang ho hlahloba mathata a kang ho senyeha, ho senyeha ha ts'ebetso, ho lutla ha memori, boima ba CPU, tlhahiso ea phoso e sa lebelloang, joalo-joalo.
  • E kentse tšehetso ea API ea liteko Async Sebaka sa polokelo ka ho kenya ts'ebetsong ea sehlopha sa AsyncLocalStorage, se ka sebelisoang ho theha boemo bo sa tšoaneng le ba sebetsanang le li-callback le litšepiso. AsyncLocalStorage e o lumella ho boloka data ha kopo ea webo e ntse e sebetsoa, ​​​​e hopotsang polokelo ea lehae ka lipuo tse ling.
  • E tlositse molaetsa oa temoso mabapi le karolo ea liteko ha e bula dimmojule ECMAScript ea 6 e hokahantsoeng le ho romelloa kantle ho naha ho sebelisoa liphatlalatso tsa kantle ho naha le kantle ho naha. Ka nako e ts'oanang, ts'ebetsong ea li-module tsa ESM ka boeona e ntse e le liteko.
  • Enjene ea V8 e ntlafalitsoe hore e be mofuta 8.1 (1, 2, 3), e kenyelletsang lintlafatso tse ncha tsa ts'ebetso le likarolo tse joalo ka opareitara e ncha e utloahalang ea concatenation "??" (e khutlisetsa operand e nepahetseng haeba operand e letšehali e le NULL kapa e sa hlalosoa, 'me ka tsela e fapaneng), "?." bakeng sa cheke ea nako e le 'ngoe ea letoto lohle la thepa kapa mehala (mohlala, "db?.user?.name?.bolelele" ntle le licheke tsa pele), mokhoa oa Intl.DisplayName bakeng sa ho fumana mabitso a sebaka, joalo-joalo.
  • Ho ile ha etsoa phetoho ea Streams API, e reretsoeng ho ntlafatsa ho tsitsisa ha Streams APIs le ho felisa phapang ea boitšoaro ba likarolo tsa motheo tsa Node.js. Ka mohlala, boits'oaro ba http.OutgoingMessage bo haufi le stream.Writable, le net.Socket e tšoana le stream.Duplex. Khetho ea "autoDestroy" e behiloe ho "'nete" ka ho sa feleng, ho bolelang ho bitsa "_destroy" ha e phethoa.
  • E kentse tšehetso ea API ea liteko WASI (WebAssembly System Interface), ho fana ka li-interfaces tsa software bakeng sa ho sebelisana ka ho toba le mokhoa oa ho sebetsa (POSIX API bakeng sa ho sebetsa le lifaele, li-sockets, joalo-joalo).
  • Keketseho ea litlhoko tsa bonyane liphetolelo baqapi le li-platform: macOS 10.13 (High Sierra), GCC 6, Windows e nchafalitsoe 7/2008R2.

A re hopoleng hore sethala sa Node.js se ka sebelisoa ka bobeli bakeng sa ts'ehetso ea lehlakore la seva ea lits'ebetso tsa Webo le ho theha mananeo a tloaelehileng a bareki le marang-rang. Ho holisa ts'ebetso ea lits'ebetso tsa Node.js, palo e kholo ea pokello ea modules, eo ho eona u ka fumanang li-module tse nang le ts'ebetsong ea li-server le bareki HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, li-module tsa ho kopanngoa le mekhoa e fapaneng ea marang-rang, WebSocket le Ajax handlers, li-connectors ho DBMS (MySQL, PostgreSQL, SQLite). , MongoDB ), lienjineri tsa template, lienjineri tsa CSS, ts'ebetsong ea li-algorithms tsa cryptographic le litsamaiso tsa tumello (OAuth), li-parsers tsa XML.

Ho sebetsana le likopo tse ngata tse tšoanang, Node.js e sebelisa mokhoa oa ho etsa khoutu o sa lumellaneng o ipapisitseng le ts'ebetso ea ketsahalo e sa thibeleng le ho hlalosa li-callback handlers. Mekhoa e tšehelitsoeng ea likhokahano tsa multiplexing e kenyelletsa epoll, kqueue, /dev/poll, le khetha. Laebrari e sebelisetsoa ho kopanya li-multiplex libuv, e leng superstructure over lokolla ho litsamaiso tsa Unix le ho feta IOCP ho Windows. Laebrari e sebelisetsoa ho etsa letamo la likhoele libeio, bakeng sa ho etsa lipotso tsa DNS ka mokhoa o sa thibeleng o kopantsoe li-c-ares. Mehala eohle ea sistimi e bakang thibelo e etsoa ka har'a letamo la likhoele, ebe, joalo ka batšoantšisi ba matšoao, ba fetisa sephetho sa mosebetsi oa bona ka phala e sa boleloang ka lebitso. Ts'ebetso ea khoutu ea JavaScript e netefatsoa ka ts'ebeliso ea enjine e ntlafalitsoeng ke Google V8 (Ho feta moo, Microsoft e ntse e hlahisa mofuta oa Node.js ka mochine oa Chakra-Core).

Motheong oa eona, Node.js e tšoana le meralo Perl AnyEvent, Mochini oa Ketsahalo oa Ruby, Python e Sothile и phethahatso Liketsahalo ho Tcl, empa loop ea ketsahalo ho Node.js e patiloe ho mohlahlami mme e tšoana le ts'ebetso ea ketsahalo ts'ebelisong ea webo e sebetsang ho sebatli. Ha u ngola likopo tsa node.js, hoa hlokahala ho ela hloko lintlha tsa mananeo a tsamaisoang ke ketsahalo, mohlala, ho fapana le ho etsa "var result = db.query("select..");" ka ho emela ho phethoa ha mosebetsi le ts'ebetso e latelang ea liphetho, Node.js e sebelisa molao-motheo oa ts'ebetso ea asynchronous, i.e. khoutu e fetoloa "db.query ("khetha..", mosebetsi (sephetho) {result processing});", moo taolo e tla fetela hang-hang ho khoutu e eketsehileng, 'me sephetho sa potso se tla sebetsoa ha data e fihla. .

Source: opennet.ru

Eketsa ka tlhaloso