Server-side JavaScript platform Node.js 18.0 ilipo

Node.js 18.0 inatulutsidwa, nsanja yogwiritsira ntchito maukonde mu JavaScript. Node.js 18.0 imayikidwa ngati nthambi yothandizira nthawi yayitali, koma izi zidzaperekedwa kokha mu October, pambuyo pokhazikika. Node.js 18.x idzathandizidwa mpaka Epulo 2025. Kusamalira nthambi yam'mbuyo ya LTS ya Node.js 16.x kudzatha mpaka Epulo 2024, ndipo chaka chatha LTS nthambi 14.x mpaka Epulo 2023. Nthambi ya 12.x LTS idzathetsedwa pa Epulo 30th, ndipo nthambi ya Node.js 17.x idzathetsedwa pa June 1st.

Kusintha kwakukulu:

  • Injini ya V8 yasinthidwa kuti ikhale 10.1, yomwe imagwiritsidwa ntchito mu Chromium 101. Poyerekeza ndi 17.9.0 kutulutsidwa kwa Node.js, tsopano pali chithandizo cha zinthu monga findLast ndi findLastIndex njira zopezera zinthu zokhudzana ndi mapeto a mndandanda, ndi ntchito ya Intl.supportedValuesOf. API Yowongoleredwa ya Intl.Locale. Kukhazikitsidwa kwa minda yamakalasi ndi njira zapadera kwafulumizitsa.
  • The experimental fetch() API imayatsidwa mwachisawawa, yopangidwira kutsitsa zothandizira pa netiweki. Kukhazikitsaku kumakhazikitsidwa ndi code yochokera kwa kasitomala wa HTTP/1.1 undici ndipo ili pafupi kwambiri ndi API yofananira yoperekedwa mu asakatuli. Izi zikuphatikiza kuthandizira mawonekedwe a FormData, Mitu, Pempho ndi Mayankho pakuwongolera zopempha za HTTP ndi mitu yakuyankha. const res = dikirani kutengera ('https://nodejs.org/api/documentation.json'); ngati (res.ok) {consst data = await res.json(); console.log(data); }
  • Kukhazikitsa koyeserera kwa Web Streams API kwawonjezedwa, kupereka mwayi wofikira kumayendedwe olandilidwa pamanetiweki. API imapangitsa kuti muwonjezere othandizira anu kuti agwire ntchito ndi deta pamene chidziwitso chikufika pa intaneti, osadikira kuti fayilo yonse itsitsidwe. Zinthu zomwe zilipo tsopano mu Node.js ndi monga ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, ndi DecompressionStream.
  • Blob API yasunthidwa kukhala yokhazikika, kukulolani kuti muphatikize deta yosasinthika kuti mugwiritse ntchito motetezeka mumizere yosiyanasiyana ya ogwira ntchito.
  • BroadcastChannel API yapangidwa kukhala yokhazikika, kukulolani kuti mukonzekere kusinthana kwa mauthenga mumayendedwe asynchronous mu "mmodzi wotumiza - ambiri olandira".
  • Onjezani ma module oyeserera: kuyesa kupanga ndi kuyesa mayeso mu JavaScript omwe amabweretsa zotsatira mumtundu wa TAP (Yesani Chilichonse Protocol).
  • Mbadwo wamisonkhano yokonzekera Red Hat Enterprise Linux (RHEL) 8 ndi magawo ena otengera Glibc 2.28+, kuphatikiza Debian 10 ndi Ubuntu 20.04, komanso macOS 10.15+ amaperekedwa. Chifukwa cha zovuta ndi injini ya V8, kupanga kwa 32-bit builds kwa Windows kwayimitsidwa kwakanthawi.
  • Anapereka njira yoyesera kuti apange Node.js yogwiritsidwa ntchito ndi zigawo zosankhidwa ndi ogwiritsa ntchito zomwe zimayambitsidwa poyambitsa. Kufotokozera zigawo zoyambira, "--node-snapshot-main" njira yawonjezedwa ku configure build script, mwachitsanzo, "./configure -node-snapshot-main=marked.js; node dzina"

Pulatifomu ya Node.js itha kugwiritsidwa ntchito pokonza ma seva a mapulogalamu a pa intaneti komanso kupanga mapulogalamu okhazikika a kasitomala ndi ma seva. Kukulitsa magwiridwe antchito a Node.js, gulu lalikulu la ma module akonzedwa, momwe mungapeze ma module ndi kukhazikitsa kwa HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 ma seva ndi makasitomala, ma module ophatikizira. yokhala ndi mawebusayiti osiyanasiyana, WebSocket ndi Ajax handlers, zolumikizira za DBMS (MySQL, PostgreSQL, SQLite, MongoDB), injini zowonera, injini za CSS, kukhazikitsidwa kwa ma crypto algorithms ndi machitidwe ovomerezeka (OAuth), XML parsers.

Kuonetsetsa kukonzedwa kwa zopempha zambiri zofananira, Node.js imagwiritsa ntchito njira yotsatsira ma code asynchronous potengera kusatsekereza zochitika zosatsekereza komanso kutanthauzira kwa omenyera callback. Njira zothandizira zolumikizira ma multiplexing ndi epoll, kqueue, /dev/poll, ndikusankha. Pakulumikiza kuchulukitsa, laibulale ya libuv imagwiritsidwa ntchito, yomwe ndi chowonjezera cha libev pa Unix system ndi IOCP pa Windows. Laibulale ya libeio imagwiritsidwa ntchito popanga dziwe la ulusi, ndipo ma c-ares amaphatikizidwa kuti achite mafunso a DNS munjira yosatsekereza. Mafoni onse omwe amayambitsa kutsekereza amachitidwa mkati mwa dziwe la ulusi ndiyeno, monga oyendetsa ma siginecha, amasamutsa zotsatira za ntchito yawo kudzera pa chitoliro chosatchulidwa dzina (chitoliro). Kukonzekera kwa JavaScript code kumaperekedwa pogwiritsa ntchito injini ya V8 yopangidwa ndi Google (kuphatikizanso, Microsoft ikupanga Node.js ndi injini ya Chakra-Core).

Pachimake, Node.js ndi ofanana ndi Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ndi kukhazikitsidwa kwa zochitika za Tcl, koma zochitika za Node.js zimabisika kwa wopanga mapulogalamu ndipo zimafanana ndi zochitika pa intaneti. mu msakatuli. Polemba mapulogalamu a node.js, muyenera kuganizira zazomwe zimayendetsedwa ndi zochitika, mwachitsanzo, m'malo mochita "var result = db.query("select..");" podikirira kumaliza ntchito ndikukonza zotsatila, Node.js imagwiritsa ntchito mfundo ya kuphedwa kosagwirizana, i.e. code imasinthidwa kukhala "db.query("select..", function (result) {result processing});", momwe ulamuliro udzadutsa nthawi yomweyo ku code yowonjezera, ndipo zotsatira zafunso zidzasinthidwa pamene deta ikufika.

Source: opennet.ru

Kuwonjezera ndemanga