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

Fumaneha lokolla Node.js 13.0, sethala sa ho tsamaisa lits'ebetso tsa marang-rang ho JavaScript. Ka nako e ts'oanang, ho tsitsisoa ha lekala le fetileng la Node.js 12.x ho phethiloe, e fetiselitsoeng ho sehlopha sa litokollo tsa nako e telele tsa tšehetso, lintlafatso tse lokolloa ka lilemo tse 4. Ts'ehetso bakeng sa lekala la pele la LTS la Node.js 10.0 e tla tšoarella ho fihlela Mmesa 2021, le tšehetso bakeng sa lekala la ho qetela la LTS 8.0 ho fihlela Pherekhong 2020.

ka sehloohong ntlafatso:

  • Enjene ea V8 e ntlafalitsoe hore e be mofuta 7.8, e sebelisang mekhoa e mecha ea ho ntlafatsa ts'ebetso, ho ntlafatsa ho senyeha ha ntho, ho fokotsa tšebeliso ea mohopolo, le ho fokotsa nako ea ho lokisetsa ts'ebetso ea WebAssembly;
  • Ts'ehetso e felletseng ea ho ikopanya ha lichaba tsa machaba le Unicode e thehiloeng laeboraring e nolofalloa ka ho sa feleng ICU (Likarolo tsa Machaba tsa Unicode), tse lumellang bahlahisi ho ngola khoutu tshehetsang sebetsa ka lipuo le libaka tse fapaneng. Module e felletseng ea icu e se e kentsoe ka mokhoa oa kamehla;
  • API e tsitsitse Likhoele tsa Basebetsi, lumella theha loops ea liketsahalo tse nang le likhoele tse ngata. Ts'ebetsong e ipapisitse le mojule oa worker_threads, o u lumellang ho tsamaisa khoutu ea JavaScript ka likhoele tse ngata tse bapileng. Tšehetso e tsitsitseng bakeng sa Workers Threads API e boetse e khutliselitsoe lekaleng la LTS la Node.js 12.x;
  • Litlhoko tsa sethala li ekelitsoe. Ho kopanya hona joale e hlokehang bonyane macOS 10.11 (e hloka Xcode 10), AIX 7.2, Ubuntu 16.04, Debian 9, EL 7, Alpine 3.8, Windows 7/2008;
  • Tšehetso e ntlafetseng bakeng sa Python 3. Haeba tsamaiso e na le Python 2 le Python 3 ka bobeli, Python 2 e ntse e sebelisoa, empa bokhoni ba ho haha ​​​​ha feela Python 3 e kenngoa tsamaisong e kenyelitsoe;
  • Ts'ebetsong ea khale ea HTTP parser (“—http-parser=legacy”) e tlositsoe. Li-call le thepa e tlositsoeng kapa e theohileng FSWatcher.prototype.start(), ChildProcess._channel, open() mokhoa ho ReadStream le WriteStream lintho, kopo.connection, response.connection, module.createRequireFromPath();
  • Ho latela tsoa update 13.0.1, e ileng ea lokisa liphoso tse 'maloa kapele. Haholo-holo, bothata ba npm 6.12.0 bo bonts'ang temoso mabapi le ho sebelisa mofuta o sa tšehetsoeng bo rarollotsoe.

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