Ikpo okwu Javascript dị n'akụkụ nkesa Node.js 18.0 dị

A tọhapụrụ Node.js 18.0, ikpo okwu maka ịgba ọsọ ngwa netwọkụ na Javascript. Node.js 18.0 bụ nkewa dị ka ngalaba nkwado ogologo oge, mana a ga-ekenye ọkwa a naanị na Ọktoba, mgbe emechara ya. A ga-akwado Node.js 18.x ruo Eprel 2025. Nlekọta nke ngalaba LTS gara aga nke Node.js 16.x ga-adịru ruo Eprel 2024, yana afọ tupu alaka LTS ikpeazụ 14.x ruo Eprel 2023. A ga-akwụsị alaka 12.x LTS na Eprel 30, na ngalaba nhazi Node.js 17.x ga-akwụsị na June 1st.

Isi nkwalite:

  • Emelitela engine V8 ka ọ bụrụ ụdị 10.1, nke a na-eji na Chromium 101. Tụnyere ntọhapụ 17.9.0 nke Node.js, enwere nkwado ugbu a maka njirimara dịka FindLast na chọtaLastIndex ụzọ maka ịchọta ihe metụtara njedebe nke njedebe. nhazi, yana ọrụ Intl.supportedValuesOf. API emelitere Intl.Locale. Mmalite nke ubi klaasị na ụzọ nzuzo agbagoro ngwa ngwa.
  • A na-enyere API nnwale nnwale ahụ na ndabara, emebere maka ibunye akụrụngwa n'elu netwọkụ. Mmejuputa a dabere na koodu sitere na onye ahịa HTTP/1.1 undici ma dịkwa nso dịka o kwere mee na API yiri ya enyere na ihe nchọgharị. Nke a gụnyere nkwado maka FormData, nkụnye eji isi mee, Arịrịọ na nzaghachi nzaghachi maka ijikwa arịrịọ HTTP na ndị nkụnye eji isi mee nzaghachi. const res = chere mbubata ('https://nodejs.org/api/documentation.json'); ọ bụrụ (res.ok) {const data = chere res.json (); console.log (data); }
  • Agbakwunyela mmejuputa nnwale nke Web Streams API, na-enye ohere ịnweta iyi data enwetara na netwọkụ ahụ. API na-eme ka o kwe omume ịgbakwunye ndị njikwa gị ka ha na data rụọ ọrụ ka ozi na-abịarute na netwọk, na-echeghị ka ebudata faịlụ ahụ dum. Ihe dị ugbu a na Node.js gụnyere ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream, na DecompressionStream.
  • A kpalila Blob API ka ọ kwụsie ike, na-enye gị ohere itinye data raw na-enweghị ike ịgbanwe maka iji nchekwa na eriri ndị ọrụ dị iche iche.
  • Emeela ka BroadcastChannel API kwụsie ike, na-enye gị ohere ịhazi mgbanwe ozi na ọnọdụ asynchronous n'ụdị “otu onye na-ezipụ - ọtụtụ ndị nnata”.
  • Ọnụ ụzọ nnwale agbakwunyere: nnwale maka imepụta na ịgba ọsọ na Javascript na-eweghachi nsonaazụ n'ụdị TAP (Test Anything Protocol).
  • Ọgbọ nke ọgbakọ akwadoro maka Red Hat Enterprise Linux (RHEL) 8 na nkesa ndị ọzọ dabere na Glibc 2.28+, gụnyere Debian 10 na Ubuntu 20.04, yana maka macOS 10.15+. N'ihi nsogbu dị na injin V8 na-ewu, akwụsịla imepụta 32-bit maka Windows nwa oge.
  • Enyere nhọrọ nnwale iji wuo Node.js nke ejiri ngwa ndị ọrụ ahọpụtara ebido na mbido. Iji kọwapụta akụrụngwa mmalite, agbakwunyere nhọrọ “--node-snapshot-main” na nhazi nhazi ederede, dịka ọmụmaatụ, “./configure —node-snapshot-main=marked.js; aha node"

Enwere ike iji ikpo okwu Node.js ma maka nhazi nkesa nke ngwa Weebụ yana maka ịmepụta mmemme netwọk ndị ahịa na nkesa. Iji gbasaa ọrụ ngwa maka Node.js, a kwadebere nnukwu nchịkọta modul, nke ị nwere ike ịchọta modul na mmejuputa HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 sava na ndị ahịa, modul maka ntinye. dị iche iche web frameworks, WebSocket na Ajax handlers , DBMS njikọ (MySQL, PostgreSQL, SQLite, MongoDB), templating engines, CSS engines, mmejuputa iwu nke crypto algọridim na ikike usoro (OAuth), XML parsers.

Iji hụ na nhazi nke ọnụ ọgụgụ dị ukwuu nke arịrịọ ndị yiri ya, Node.js na-eji ụdị mmebe koodu asynchronous dabere na njikwa mmemme anaghị egbochi yana nkọwa nke ndị na-ahụ maka oku. Ụzọ ndị akwadoro maka njikọta multiplexing bụ epoll, kqueue, /dev/poll, wee họrọ. Maka njikọta multiplexing, a na-eji ọbaakwụkwọ libuv, nke bụ mgbakwunye maka libev na sistemụ Unix yana IOCP na Windows. A na-eji ọba akwụkwọ libeio mepụta ọdọ mmiri eri, yana c-ares jikọtara ya iji mee ajụjụ DNS na ọnọdụ anaghị egbochi. A na-egbu oku sistemu niile na-akpata igbochi n'ime ọdọ mmiri eri ahụ wee, dị ka ndị na-ahụ maka mgbaàmà, nyefee nsonaazụ nke ọrụ ha site na ọkpọkọ akpọghị aha. A na-enye mmezu nke koodu Javascript site na iji igwe V8 nke Google mepụtara (na mgbakwunye, Microsoft na-emepụta ụdị Node.js na Chakra-Core engine).

Na isi ya, Node.js yiri Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, na mmejuputa mmemme Tcl, ma ihe omume ahụ na Node.js zoro ezo site na onye mmepụta ma yiri njikwa ihe omume na ngwa weebụ na-agba ọsọ. na ihe nchọgharị. Mgbe ị na-ede ngwa maka node.js, ịkwesịrị ịtụle nkọwa nke mmemme na-eme ihe omume, dịka ọmụmaatụ, kama ime "var result = db.query("họrọ .");" na ichere maka mmecha ọrụ na nhazi nke nsonaazụ, Node.js na-eji ụkpụrụ nke mkpochapụ asynchronous, ya bụ. A na-agbanwe koodu ahụ ka ọ bụrụ "db.query ("họrọ ..", ọrụ (nsonaazụ) {nhazi nsonaazụ});", nke njikwa ga-agafe ngwa ngwa gaa na koodu ọzọ, a ga-ahazi nsonaazụ ajụjụ ka data rutere.

isi: opennet.ru

Tinye a comment