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

A tọhapụrụ Node.js 20.0, ikpo okwu maka ịgba ọsọ ngwa netwọkụ na Javascript. Node.js 20.0 bụ nkewa dị ka ngalaba nkwado ogologo oge, mana a ga-ekenye ọkwa a naanị n'October, mgbe emechara ya. A ga-akwado Node.js 20.x ruo Eprel 30, 2026. Nlekọta nke ngalaba LTS gara aga nke Node.js 18.x ga-adịru ruo Eprel 2025, yana nke dị n'ihu alaka LTS ikpeazụ 16.x ruo Septemba 2023. A ga-akwụsị alaka 14.x LTS na Eprel 30, na ngalaba nhazi Node.js 19.x ga-akwụsị na June 1st.

Isi nkwalite:

  • Emelitere injin V8 ka ọ bụrụ ụdị 11.3, ejiri na Chromium 113. Mgbanwe tụnyere ngalaba Node.js 19, nke ji igwe Chromium 107, gụnyere String.prototype.isWellFormed na toWellFormed ọrụ, Array.prototype na TypedArray. prototype usoro maka ịrụ ọrụ na oyiri mgbe ị na-agbanwe ihe Array na TypedArray, ọkọlọtọ "v" na RegExp, nkwado maka resizing ArrayBuffer na ịbawanye nha nke SharedArrayBuffer, nkwụghachi azụ (oku ọdụ) na WebAssembly.
  • Atụpụtala usoro ihe nlere ikike nnwale nke na-enye ohere ịmachi ịnweta ụfọdụ akụrụngwa n'oge ogbugbu. A na-akwado nkwado ụdị ikike site na ịkọwa ọkọlọtọ "--experimental-permission" mgbe ọ na-agba ọsọ. Mmejuputa nke mbụ na-enye nhọrọ maka ịmachi ide (-allow-fs-write) na ịgụ (--allow-fs-read) ịnweta akụkụ ụfọdụ nke sistemụ faịlụ, usoro ụmụaka (--ekwe-usoro nwa), na tinye-ons (--no-addons)) na eri (--ekwe-onye ọrụ). Dịka ọmụmaatụ, iji kwe ka ide ihe na /tmp ndekọ na ịgụ faịlụ /home/index.js, ị nwere ike ịkọwa: node —experimental-permission —allow-fs-write=/tmp/ —allow-fs-read=/home /index.js index .js

    Iji lelee ohere, a na-atụ aro ka iji usoro.permission.has() dịka ọmụmaatụ, "process.permission.has ('fs.write',"/tmp/test").

  • Ndị na-ahụ maka ECMAScript Mpụga Module (ESM) bugoro site na nhọrọ "--experimental-loader" na-agba ọsọ ugbu a na eriri dị iche, nke dịpụrụ adịpụ na eriri isi, na-ewepụ nkwụsị nke koodu ngwa na modul ESM. Yiri ihe nchọgharị, a na-eme usoro import.meta.resolve() n'otu oge mgbe akpọrọ ya site na ngwa. N'otu n'ime ngalaba Node.js na-esote, a na-eme atụmatụ ibuga nkwado maka nbudata ESM na ngalaba nke ike kwụsiri ike.
  • Nọmba modul: test (test_runner), emebere maka imepụta na ịgba ọsọ ule na Javascript na-eweghachi nsonaazụ na usoro TAP (Test Anything Protocol), ka ọ kwụsie ike.
  • E hiwere otu mmepe dị iche iche na-ahụ maka nkwalite arụmọrụ, nke, mgbe ị na-akwadebe alaka ọhụrụ, na-arụ ọrụ iji mee ka ngwa ngwa dị iche iche na-agba ọsọ, gụnyere URL parsing, fetch () na EventTarget. Dịka ọmụmaatụ, ebelatala isi mmalite nke EventTarget, arụ ọrụ nke usoro URL.canParse() ka emelitere nke ọma, yana arụ ọrụ ngụ oge ka emelitere. Ọ gụnyekwara ntọhapụ nke parser URL dị elu, Ada 2.0, nke edere na C++.
  • Mmepe nke ikike nnwale maka ịnyefe ngwa n'ụdị faịlụ nwere ike ime (SEA, Single Executable Applications) gara n'ihu. Ịmepụta faịlụ enwere ike ime ugbu a chọrọ ka edochie brọb nke ewepụtara na faịlụ nhazi n'ụdị JSON (kama iji dochie faịlụ JavaScript).
  • Ndakọrịta emelitere nke Web Crypto API yana mmemme sitere na ọrụ ndị ọzọ.
  • Nkwado gọọmentị agbakwunyere maka Windows na sistemụ ARM64.
  • Mmejuputa nkwado maka WASI (WebAssembly System Interface) ndọtị maka ịmepụta ngwa WebAssembly kwụ ọtọ anọgidewo. Wepụrụ mkpa ezipụta ọkọlọtọ ahịrị iwu pụrụ iche iji nyere WASI nkwado.

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