Fa'asa'olotoga JavaScript Node.js 14.0

na tupu tatala Node.js 14.0,tulaga mo le fa'agaioia o talosaga feso'ota'iga ile JavaScript. Node.js 14.0 o se lala lagolago umi, ae o lenei tulaga o le a naʻo Oketopa, pe a maeʻa le faʻamautuina. Node.js 14.0 o le a lagolagoina ia faataunuuina seia oo ia Aperila 2023. O le tausiga o le lala LTS muamua o Node.js 12.0 o le a tumau seia oʻo ia Aperila 2022, ma le tausaga aʻo lumanaʻi le LTS lala 10.0 seia oʻo ia Aperila 2021. Lagolago mo le 13.x staging lala o le a muta ia Iuni o lenei tausaga.

tele faaleleia:

  • O le gafatia e gaosia i luga o le lele pe i luga o le tulai mai o nisi o mea na tutupu ua faʻamautuina lipoti fa'ama'i, o loʻo faʻaalia ai mea na tutupu e fesoasoani e suʻesuʻeina faʻafitauli e pei o faʻalavelave, faʻaleagaina o faʻatinoga, faʻagasolo manatuaga, mamafa uta CPU, faʻalavelave faʻafuaseʻi mea sese, ma isi.
  • Fa'aopoopo le lagolago API fa'ata'ita'i Async Local Storage faʻatasi ai ma le faʻatinoga o le vasega AsyncLocalStorage, lea e mafai ona faʻaogaina e fausia ai le tulaga faʻatasi ma tagata e faʻatautaia e faʻavae i luga o valaau toe foʻi ma folafolaga. AsyncLocalStorage e fa'atagaina oe e teu fa'amaumauga a'o fa'agasolo se talosaga i luga ole laiga, e fa'amanatu mai ai le fa'aputuga fa'apitonu'u i isi gagana.
  • Ave'ese le fe'au lapata'iga e uiga i fa'ata'ita'iga fa'ata'ita'iga pe a utaina modules ECMAScript 6 feso'ota'i ma auina atu i fafo e fa'aaoga ai fa'amatalaga fa'aulufale mai ma fafo. I le taimi lava e tasi, o le faʻatinoina o le ESM modules lava ia o loʻo faʻataʻitaʻiina.
  • V8 afi fa'afouina ile fa'aliliuga 8.1 (1, 2, 3), lea e aofia ai fa'atonuga fou fa'atinoga ma foliga e pei o le fa'aoga fa'aupuga fa'akomipiuta fou "??" (toe faafoi le operand taumatau pe afai o le operand agavale e NULL pe le faʻamalamalamaina, ma le isi itu), le "?." operator mo se siaki tasi taimi o le faasologa atoa o meatotino poʻo telefoni (mo se faʻataʻitaʻiga, "db?.user?.name?.length" e aunoa ma ni siaki muamua), le Intl.DisplayName auala mo le mauaina o igoa faʻapitonuʻu, ma isi.
  • O se toe iloiloga o le Streams API na faia, e faʻatatau i le faʻaleleia atili o le tutusa o le Streams APIs ma faʻaumatia eseesega i amioga a vaega autu o Node.js. Mo se faʻataʻitaʻiga, o le amio a le http.OutgoingMessage e latalata ile stream.Writable, ma net.Socket e tutusa ma stream.Duplex. O le filifiliga autoDestroy ua seti i le "moni" e ala i le faaletonu, o lona uiga o le valaau "_destroy" pe a maeʻa.
  • Fa'aopoopo le lagolago API fa'ata'ita'i WASI (WebAssembly System Interface), tuʻuina atu fesoʻotaʻiga faʻapipiʻi mo fesoʻotaʻiga tuusaʻo ma le faiga faʻaogaina (POSIX API mo le galue i faila, sockets, etc.).
  • Fa'ateleina mana'oga mo fa'asologa laiti tu'ufa'atasi ma fa'avae: macOS 10.13 (High Sierra), GCC 6, Pupuni fou 7/2008R2.

Se'i tatou manatua e mafai ona fa'aogaina le fa'avae Node.js mo le lagolago i itu-aumau o talosaga i luga ole laiga ma mo le fa'atupuina o polokalame feso'ota'iga a tagata fa'atau ma server. Ina ia faʻalauteleina le faʻatinoga o talosaga mo Node.js, o se numera tele o aoina o modules, lea e mafai ona e maua ai modules ma le faʻatinoina o 'auʻaunaga ma tagata faʻatau HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modules mo le tuʻufaʻatasia ma faʻasalalauga eseese i luga ole laiga, WebSocket ma Ajax handlers, connectors to DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), faʻataʻitaʻiga afi, masini CSS, faʻatinoga o faʻataʻitaʻiga algorithms ma faiga faʻatagaina (OAuth), XML parsers.

Ina ia taulimaina numera tele o talosaga tutusa, Node.js faʻaaogaina se faʻataʻitaʻiga faʻataʻitaʻiga code asynchronous e faʻavae i luga ole faʻaogaina o mea e tutupu ma faʻamalamalamaina tagata e toe foʻi i tua. Metotia lagolago mo feso'ota'iga fa'atele e aofia ai epoll, kqueue, /dev/poll, ma filifili. O lo'o fa'aogaina le faletusi i feso'ota'iga tele libuv, lea o se fausaga maualuga ua uma libev i luga ole faiga Unix ma luga ole IOCP ile Windows. E fa'aoga le faletusi e fai ai se filo filo libeio, mo le faʻatinoina o fesili DNS i le faʻaogaina le faʻaogaina o le faʻaogaina c-ares. O telefoni uma e mafua ai le poloka e faia i totonu o le filo filo ma, e pei o le au fa'ailo, toe pasi atu le taunuuga oa latou galuega i se paipa e le o ta'ua. O le faʻatinoina o le JavaScript code e faʻamautinoa e ala i le faʻaogaina o se afi na atiaʻe e Google V8 (E le gata i lea, o loʻo atiaʻe e Microsoft se kopi o Node.js faʻatasi ma le Chakra-Core engine).

I lona autu, Node.js e tutusa ma faʻavae Perl AnyEvent, Ruby Mea'ai Mea, Python Twisted и faatinoga mea na tutupu i Tcl, ae o le faʻalavelave faʻalavelave i Node.js o loʻo natia mai le tagata atiaʻe ma e pei o le faʻafoeina o mea tutupu i totonu o le upega tafaʻilagi o loʻo faʻaogaina i totonu o se suʻega. Pe a tusia talosaga mo node.js, e tatau ona amanaʻia faʻamatalaga patino o polokalame faʻaosoina mea, mo se faʻataʻitaʻiga, nai lo le faia o le "var result = db.query("filifili..");" faʻatasi ai ma le faʻatali mo le faʻamaeʻaina o galuega ma le gaioiga mulimuli ane o taunuʻuga, e faʻaaogaina e Node.js le mataupu faavae o le faʻataunuʻuina asynchronous, i.e. ua suia le code i le "db.query ("filifili ..", galuega (i'uga) {result process});", lea o le a vave ona pasi atu le pule i nisi code, ma o le a fa'agasolo le fa'ai'uga pe a o'o mai fa'amaumauga. .

puna: opennet.ru

Faaopoopo i ai se faamatalaga