Gefa út JavaScript vettvang Node.js 14.0 á netþjóni

fór fram sleppa Node.js 14.0,vettvangar til að keyra netforrit í JavaScript. Node.js 14.0 er langtíma stuðningsútibú, en þessari stöðu verður aðeins úthlutað í október, eftir stöðugleika. Node.js 14.0 verður stutt verði framkvæmt til apríl 2023. Viðhald á fyrri LTS útibúi Node.js 12.0 mun vara til apríl 2022 og árið áður síðasta LTS útibú 10.0 til apríl 2021. Stuðningi við 13.x sviðsgreinina lýkur í júní á þessu ári.

Helstu endurbætur:

  • Hæfni til að mynda á flugu eða þegar tilteknir atburðir eiga sér stað hefur verið stöðugur greiningarskýrslur, sem sýna atburði sem hjálpa til við að greina vandamál eins og hrun, afköst, minnisleka, mikið CPU-álag, óvænt villuúttak o.s.frv.
  • Bætt við tilrauna-API stuðningi Ósamstillt staðbundin geymsla með innleiðingu AsyncLocalStorage flokksins, sem hægt er að nota til að búa til ósamstillt ástand með meðhöndlum sem byggjast á svarhringingum og loforðum. AsyncLocalStorage gerir þér kleift að geyma gögn á meðan vefbeiðni er í vinnslu, sem minnir á þráð-staðbundna geymslu á öðrum tungumálum.
  • Fjarlægði viðvörunarskilaboð um tilraunaeiginleika við hleðslu einingar ECMAScript 6 tengdur og fluttur út með því að nota inn- og útflutningsyfirlit. Á sama tíma er innleiðing ESM eininga sjálfrar áfram tilraunastarfsemi.
  • V8 vél uppfærð í útgáfu 8.1 (1, 2, 3), sem felur í sér nýja hagræðingu og eiginleika eins og nýja rökræna samtengingaraðgerðina "??" (skilar hægri óperanda ef vinstri óperandinn er NULL eða óskilgreindur, og öfugt), "?." fyrir einstaka athugun á allri keðjunni af eignum eða símtölum (til dæmis „db?.notanda?.nafn?.lengd“ án bráðabirgðaathugunar), Intl.DisplayName aðferðin til að fá staðbundin nöfn o.s.frv.
  • Gerð var endurskoðun á Streams API sem miðar að því að bæta samkvæmni Streams API og útrýma mismun á hegðun grunnhluta Node.js. Til dæmis er hegðun http.OutgoingMessage nálægt stream.Writable, og net.Socket er svipað og stream.Duplex. AutoDestroy valkosturinn er sjálfgefið stilltur á „true“, sem þýðir að kalla „_destroy“ þegar því er lokið.
  • Bætt við tilrauna-API stuðningi VAR ÉG (WebAssembly kerfisviðmót), útvega hugbúnaðarviðmót fyrir bein samskipti við stýrikerfið (POSIX API til að vinna með skrár, fals osfrv.).
  • Auknar kröfur um lágmarks útgáfur þýðendur og vettvangar: macOS 10.13 (High Sierra), GCC 6, Windows nýrri 7/2008R2.

Við skulum muna að Node.js vettvangurinn er bæði hægt að nota fyrir netþjónastuðning við vefforrit og til að búa til venjuleg netforrit fyrir biðlara og netþjóna. Til að auka virkni forrita fyrir Node.js er mikill fjöldi safn eininga, þar sem þú getur fundið einingar með innleiðingu netþjóna og viðskiptavina HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, einingar fyrir samþættingu við ýmsa veframma, WebSocket og Ajax meðhöndlara, tengi við DBMS (MySQL, PostgreSQL, SQLite , MongoDB ), sniðmátsvélar, CSS vélar, útfærslur á dulmálsreikniritum og heimildakerfum (OAuth), XML-flokkarar.

Til að meðhöndla mikinn fjölda samhliða beiðna notar Node.js ósamstillt keyrslulíkan sem byggir á ólokandi atburðavinnslu og skilgreiningu meðhöndlunarhringingar. Aðferðir sem studdar eru til að margfalda tengingar eru meðal annars epoll, kqueue, /dev/poll og select. Bókasafnið er notað til að multiplexa tengingar libuv, sem er yfirbyggingu lokið libev á Unix kerfum og yfir IOCP á Windows. Bókasafn er notað til að búa til þráðasafn libeio, til að framkvæma DNS fyrirspurnir í ólokandi ham er samþætt c-ares. Öll kerfissímtöl sem valda lokun eru keyrð innan þráðasafnsins og senda síðan, eins og merkjameðferðaraðilar, niðurstöðu vinnu sinnar til baka í gegnum ónefnda pípu. Framkvæmd JavaScript kóða er tryggð með því að nota vél sem er þróuð af Google V8 (Auk þess er Microsoft að þróa útgáfu af Node.js með Chakra-Core vélinni).

Í kjarna sínum er Node.js svipað ramma Perl AnyEvent, Ruby viðburðavél, Python Twisted и framkvæmd atburðir í Tcl, en atburðalykkjan í Node.js er falin þróunaraðilanum og líkist meðhöndlun atburða í vefforriti sem keyrir í vafra. Þegar þú skrifar forrit fyrir node.js er nauðsynlegt að taka tillit til sérstakra atburðadrifna forritunar, til dæmis, í stað þess að gera “var result = db.query(“select..”);” með bið eftir verklokum og síðari úrvinnslu á niðurstöðum notar Node.js meginregluna um ósamstillta framkvæmd, þ.e. Kóðanum er umbreytt í „db.query(“velja..”, fall (niðurstaða) {niðurstöðuvinnsla});“, þar sem stjórnun fer strax í frekari kóða og niðurstöður fyrirspurnarinnar verða unnar þegar gögn berast. .

Heimild: opennet.ru

Bæta við athugasemd