Hoʻokuʻu ʻia ʻo JavaScript Node.js 14.0

ua hanaia hoʻokuʻu Node.js 14.0, nā kahua no ka holo ʻana i nā noi pūnaewele ma JavaScript. ʻO Node.js 14.0 kahi lālā kākoʻo lōʻihi, akā e hāʻawi ʻia kēia kūlana i ʻOkakopa, ma hope o ka hoʻopaʻa ʻana. E kākoʻo ʻia ʻo Node.js 14.0 e hookoia a hiki i ʻApelila 2023. E mau ana ka mālama ʻana i ka lālā LTS o Node.js 12.0 a hiki i ʻApelila 2022, a ʻo ka makahiki ma mua o ka lālā LTS hope 10.0 a hiki i ʻApelila 2021. E hoʻopau ʻia ke kākoʻo no ka lālā staging 13.x i Iune o kēia makahiki.

ka papa kuhikuhiE nā hoʻomaikaʻi:

  • Ua hoʻopaʻa ʻia ka hiki ke hoʻohua ma ka lele a i ʻole ka hiki ʻana mai o kekahi mau hanana hōʻike diagnostics, ka mea e hōʻike ana i nā hanana e kōkua ana i ka ʻike ʻana i nā pilikia e like me ka hāʻule ʻana, ka hoʻohaʻahaʻa ʻana i ka hana, nā leaks hoʻomanaʻo, ka ukana CPU kaumaha, ka hoʻopuka hewa ʻole ʻana, etc.
  • Hoʻohui ʻia ke kākoʻo API hoʻokolohua Waihona Kūloko Async me ka hoʻokō ʻana i ka papa AsyncLocalStorage, hiki ke hoʻohana ʻia e hana i ka mokuʻāina asynchronous me nā mea lima e pili ana i nā kelepona callback a me nā ʻōlelo hoʻohiki. ʻAe ʻo AsyncLocalStorage iā ʻoe e mālama i ka ʻikepili i ka wā e hana ʻia ana kahi noi pūnaewele, e hoʻomanaʻo ana i ka waiho ʻana o ka thread-local storage ma nā ʻōlelo ʻē aʻe.
  • Wehe ʻia ka ʻōlelo aʻo e pili ana i ka hiʻohiʻona hoʻokolohua i ka wā e hoʻouka ai modules ECMAScript 6 hoʻopili ʻia a hoʻokuʻu ʻia me ka hoʻohana ʻana i nā ʻōlelo hoʻopuka a lawe aku. I ka manawa like, hoʻomau ka hoʻokō ʻana i nā modula ESM ponoʻī.
  • Hōʻano hou ʻia ka ʻenekini V8 i ka mana 8.1 (1, 2, 3), e komo pū ana i nā loiloi hana hou a me nā hiʻohiʻona e like me ka logical concatenation operator "??" (hoʻihoʻi i ka operand ʻākau inā he NULL a ʻaʻole i wehewehe ʻia ka operand hema, a ʻo ia hoʻi), ka "?." no ka nānā ʻana i hoʻokahi manawa o ke kaulahao holoʻokoʻa o nā waiwai a i ʻole kelepona (no ka laʻana, "db?.user?.name?.longth" me ka ʻole o ka nānā mua ʻana), ke ala Intl.DisplayName no ka loaʻa ʻana o nā inoa kūloko, etc.
  • Ua hoʻokō ʻia kahi hoʻoponopono hou o ka Streams API, i manaʻo ʻia e hoʻomaikaʻi i ke kūlike o nā Streams API a me ka hoʻopau ʻana i nā ʻokoʻa i ka ʻano o nā ʻāpana kumu o Node.js. No ka laʻana, pili ka ʻano o http.OutgoingMessage i ka stream.Writable, a ua like ka net.Socket me stream.Duplex. Hoʻonohonoho ʻia ka koho autoDestroy i "ʻoiaʻiʻo" ma ke ʻano maʻamau, ʻo ia hoʻi ke kāhea ʻana iā "_destroy" i ka pau ʻana.
  • Hoʻohui ʻia ke kākoʻo API hoʻokolohua WASI (Pūnaehana Pūnaewele WebAssembly), e hāʻawi ana i nā polokalamu polokalamu no ka pilina pololei me ka ʻōnaehana hana (POSIX API no ka hana ʻana me nā faila, nā kumu, a me nā mea ʻē aʻe).
  • Hoʻonui i nā koi no nā mana liʻiliʻi nā mea hōʻuluʻulu a me nā paepae: macOS 10.13 (High Sierra), GCC 6, ʻO ka Windows hou 7/2008R2.

E hoʻomanaʻo kākou e hiki ke hoʻohana ʻia ka paepae Node.js no ke kākoʻo ʻaoʻao kikowaena o nā noi pūnaewele a no ka hoʻokumu ʻana i nā polokalamu kelepona maʻamau a me nā kikowaena kikowaena. No ka hoʻonui i ka hana o nā noi no Node.js, he helu nui o ohi o na modules, kahi e hiki ai iā ʻoe ke loaʻa nā modula me ka hoʻokō ʻana o nā kikowaena a me nā mea kūʻai aku HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, modules no ka hoʻohui ʻana me nā ʻano pūnaewele like ʻole, WebSocket a me nā mea lawelawe Ajax, nā mea hoʻohui i DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), nā engine template, nā mīkini CSS, nā hoʻokō o nā algorithms cryptographic a me nā ʻōnaehana mana (OAuth), XML parsers.

No ka lawelawe ʻana i nā helu nui o nā noi like, hoʻohana ʻo Node.js i kahi hoʻohālike hoʻokō code asynchronous e pili ana i ka hoʻoponopono ʻana i ka hanana ʻole a me ka wehewehe ʻana i nā mea hoʻohana kelepona. ʻO nā ala i kākoʻo ʻia no ka hoʻohui ʻana i nā pilina me ka epoll, kqueue, /dev/poll, a me ke koho. Hoʻohana ʻia ka waihona i nā hoʻohui multiplex libuv, ʻo ia kahi superstructure ma luna libev ma nā ʻōnaehana Unix a ma luna o IOCP ma Windows. Hoʻohana ʻia kahi waihona no ka hana ʻana i kahi pūnāwai thread libeio, no ka hana ʻana i nā nīnau DNS ma ke ʻano pale ʻole i hoʻohui ʻia c-ares. Hoʻokō ʻia nā kelepona ʻōnaehana a pau i hoʻopaʻa ʻia i loko o ka wai puna a laila, e like me nā mea lawelawe hōʻailona, ​​hoʻihoʻi i ka hopena o kā lākou hana ma o ka paipu inoa ʻole. Hoʻopaʻa ʻia ka hoʻokō ʻana i ka code JavaScript ma o ka hoʻohana ʻana i kahi mīkini i hoʻomohala ʻia e Google V8 (Eia kekahi, ke kūkulu nei ʻo Microsoft i kahi mana o Node.js me ka ʻenekini Chakra-Core).

Ma kona kumu, ua like ʻo Node.js me nā frameworks Perl AnyEvent, Mekini Hana Ruby, ʻO Python Twisted и hoʻokō nā hanana ma Tcl, akā hūnā ʻia ka hanana hanana ma Node.js mai ka mea hoʻomohala a like me ka lawelawe ʻana i ka hanana ma kahi polokalamu pūnaewele e holo ana i kahi polokalamu kele pūnaewele. I ke kākau ʻana i nā noi no node.js, pono e noʻonoʻo i nā kikoʻī o ka hoʻonohonoho ʻana i ka hanana, no ka laʻana, ma mua o ka hana ʻana i "var result = db.query("koho..");" me ka kali ʻana i ka pau ʻana o ka hana a me ka hana ʻana o nā hopena, hoʻohana ʻo Node.js i ke kumu o ka hoʻokō asynchronous, ʻo ia hoʻi. ua hoʻololi ʻia ke code i "db.query("koho ..", hana (hopena) {hopena hana});", kahi e hele koke ai ka mana i ke code hou aʻe, a e hana ʻia ka hopena nīnau i ka hiki ʻana mai o ka ʻikepili. .

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka