Loaʻa ka paepae JavaScript ʻaoʻao Node.js 18.0

Ua hoʻokuʻu ʻia ʻo Node.js 18.0, kahi kahua no ka holo ʻana i nā noi pūnaewele ma JavaScript. Hoʻonohonoho ʻia ʻo Node.js 18.0 ma ke ʻano he lālā kākoʻo lōʻihi, akā e hāʻawi ʻia kēia kūlana i ʻOkakopa wale nō, ma hope o ka hoʻopaʻa ʻana. Kākoʻo ʻia ʻo Node.js 18.x a hiki i ʻApelila 2025. E mau ana ka mālama ʻana i ka lālā LTS o Node.js 16.x a hiki i ʻApelila 2024, a ʻo ka makahiki ma mua o ka lālā LTS hope 14.x a hiki i ʻApelila 2023. E hoʻopau ʻia ka lālā 12.x LTS i ka lā 30 ʻApelila, a e hoʻopau ʻia ka lālā staging Node.js 17.x ma Iune 1st.

Nā hoʻomaikaʻi nui:

  • Ua hōʻano hou ʻia ka mīkini V8 i ka mana 10.1, i hoʻohana ʻia ma Chromium 101. Ke hoʻohālikelike ʻia me ka hoʻokuʻu ʻana o 17.9.0 o Node.js, aia i kēia manawa ke kākoʻo no nā hiʻohiʻona e like me ka findLast a me findLastIndex nā ala no ka ʻimi ʻana i nā mea pili i ka hopena o he laha, a me ka hana Intl.supportedValuesOf. Hoʻomaikaʻi ʻia ka Intl.Locale API. Ua wikiwiki ka hoʻomaka ʻana o nā kahua papa a me nā ʻano pilikino.
  • Hoʻohana ʻia ka API kiʻi hoʻokolohua () ma ka paʻamau, i hoʻolālā ʻia no ka hoʻouka ʻana i nā kumuwaiwai ma luna o ka pūnaewele. Hoʻokumu ʻia ka hoʻokō ma ke code mai ka mea kūʻai aku ʻo HTTP/1.1 undici a kokoke loa i ka API like i hāʻawi ʻia i nā polokalamu kele pūnaewele. Loaʻa kēia i ke kākoʻo no ka FormData, Headers, Request and Response interfaces no ka hoʻopunipuni ʻana i ka noi HTTP a me nā pane pane. const res = kakali kiʻi ('https://nodejs.org/api/documentation.json'); inā (res.ok) {const data = kali res.json(); console.log(ʻikepili); }
  • Ua hoʻohui ʻia kahi hoʻokō hoʻokolohua o ka Web Streams API, e hāʻawi ana i ke komo ʻana i nā kahawai ʻikepili i loaʻa ma luna o ka pūnaewele. Hiki i ka API ke hoʻohui i kāu mau mea lawelawe ponoʻī e hana me ka ʻikepili ke hiki mai ka ʻike ma luna o ka pūnaewele, me ke kali ʻole i ka hoʻoiho ʻana i ka faila holoʻokoʻa. Loaʻa nā mea i kēia manawa ma Node.js me ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, a me DecompressionStream.
  • Ua hoʻoneʻe ʻia ka Blob API i paʻa, e ʻae iā ʻoe e hoʻopili i ka ʻikepili maka hiki ʻole ke hoʻohana pono ʻia i nā kaula hana like ʻole.
  • Ua paʻa ka BroadcastChannel API, e ʻae iā ʻoe e hoʻonohonoho i ka hoʻololi ʻana o nā memo ma ke ʻano asynchronous ma ke ʻano "hoʻokahi mea hoʻouna - nui nā mea loaʻa".
  • Hoʻohui ʻia ka pūnaehana module hoʻokolohua: hoʻāʻo no ka hoʻokumu ʻana a me ka holo ʻana i nā hoʻokolohua ma JavaScript e hoʻihoʻi i nā hopena ma ke ʻano TAP (Test Anything Protocol).
  • Hāʻawi ʻia ka hanauna o nā hui i mākaukau no Red Hat Enterprise Linux (RHEL) 8 a me nā māhele ʻē aʻe e pili ana iā Glibc 2.28+, me Debian 10 a me Ubuntu 20.04, a me ka macOS 10.15+. Ma muli o nā pilikia me ke kūkulu ʻana i ka ʻenekini V8, ua hoʻopau ʻia ka hana ʻana o nā hale 32-bit no Windows.
  • Hāʻawi i kahi koho hoʻokolohua e kūkulu i kahi Node.js hiki ke hoʻokō me nā mea i koho ʻia e ka mea hoʻohana i hoʻomaka i ka hoʻomaka ʻana. No ka wehewehe ʻana i nā ʻāpana hoʻomaka, ua hoʻohui ʻia ke koho "--node-snapshot-main" i ka configure build script, no ka laʻana, "./configure —node-snapshot-main=marked.js; inoa inoa"

Hiki ke hoʻohana ʻia ka paepae Node.js no ka mālama kikowaena o nā polokalamu Pūnaewele a no ka hoʻokumu ʻana i nā polokalamu kelepona maʻamau a me nā kikowaena kikowaena. No ka hoʻonuiʻana i ka hana o nā noi no Node.js, ua hoʻomākaukauʻia kahi hōʻiliʻili nui o nā modula, kahi e hiki ai iāʻoe ke loaʻa nā modula me ka hoʻokōʻana o HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 servers a me nā mea kūʻai, modules no ka hoʻohui. me nā pūnaewele pūnaewele likeʻole, WebSocket a me nā mea lima Ajax , nā mea hoʻohui DBMS (MySQL, PostgreSQL, SQLite, MongoDB), nā mīkini hoʻohālike, nā mīkini CSS, nā hoʻokō o nā crypto algorithms a me nā pūnaewele mana (OAuth), XML parsers.

No ka hōʻoia ʻana i ka hana ʻana o ka nui o nā noi like, hoʻohana ʻo Node.js i kahi hoʻohālike hoʻokō code asynchronous e pili ana i ka mālama ʻana i ka hanana ʻole a me ka wehewehe ʻana o nā mea hoʻohana kelepona. ʻO nā ala i kākoʻo ʻia no ka hoʻohui ʻana i nā pilina he epoll, kqueue, /dev/poll, a koho. No ka hoʻohui multiplexing, hoʻohana ʻia ka waihona libuv, kahi mea hoʻohui no libev ma nā ʻōnaehana Unix a me IOCP ma Windows. Hoʻohana ʻia ka waihona libeio no ka hana ʻana i kahi kolamu thread, a ua hoʻohui ʻia nā c-ares e hana i nā nīnau DNS ma ke ʻano pale ʻole. Hoʻokō ʻia nā kelepona ʻōnaehana āpau i hoʻopaʻa ʻia i loko o ka loko o ke kaula 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 (pipe). Hāʻawi ʻia ka hoʻokō ʻana i ka code JavaScript ma o ka hoʻohana ʻana i ka mīkini V8 i hoʻomohala ʻia e Google (eia kekahi, ke kūkulu nei ʻo Microsoft i kahi mana o Node.js me ka ʻenekini Chakra-Core).

Ma kona kumu, ua like ka Node.js me ka Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, a me ka hoʻokō hanana Tcl, akā ua hūnā ʻia ka hanana hanana ma Node.js mai ka mea hoʻomohala a ua like me ka lawelawe ʻana i ka hanana ma kahi noi pūnaewele e holo ana. ma ka polokalamu kele pūnaewele. I ke kākau ʻana i nā noi no node.js, pono ʻoe 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 "var result = db.query("select..");" me ka kali ʻana no ka pau ʻana o ka hana a me ka hoʻoili ʻ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