An buga dandalin Node.js 23.0 tare da tallafin farko don yaren TypeScript

Node.js 23.0.0, dandamali don gudanar da aikace-aikacen cibiyar sadarwa a JavaScript, an fito da shi. Node.js 23.0 an rarraba shi azaman reshe na matsakaici, wanda za'a tallafawa har tsawon watanni 7 (har zuwa Yuni 2025). A cikin kwanaki masu zuwa, za a kammala tabbatar da reshen Node.js 22, wanda zai sami matsayin LTS a ranar 29 ga Oktoba kuma za a tallafa shi har zuwa Afrilu 2027. Taimako ga rassan LTS na baya na Node.js 20.x da 18.x zai ci gaba har zuwa Afrilu 2026 da 2025, bi da bi.

Babban haɓakawa:

  • Ƙara goyan bayan gwaji don TypeScript, wanda ke ba da damar fayyace ma'anar nau'in. Ana kunna goyan baya ta amfani da zaɓuɓɓukan "--experimental-strip-types" da "-- gwaji-nau'ikan canji". A cikin yanayin zaɓi na farko, ana rage aiki tare da TypeScript zuwa share takamaiman nau'in ma'anar harshe (nau'in dubawa ba a yi ba, ana canza lambar zuwa JavaScript mara rubutu). Zaɓin na biyu yana jujjuya wasu abubuwan haɗin rubutu na TypeScript, kamar ƙididdiga da wuraren suna, zuwa lambar JavaScript.
  • An kunna ta tsohuwa shine ikon yin amfani da kiran "buƙata()" don loda kayan aikin JavaScript ESM (Modules ECMAScript) a yanayin aiki tare. Ana amfani da nau'ikan ESM a cikin masu bincike kuma suna maye gurbin CommonJS na musamman ga Node.js. Don yin lodi ta hanyar "buƙata()" a cikin Node.js, dole ne a aiwatar da tsarin ESM tare da aiki tare (ba tare da jira a saman matakin ba).
  • Gano atomatik na samfuran ESM a cikin fayiloli ba tare da ko tare da tsawo na ".js" an ba da shi ba. A baya can, ana ɗaukar irin waɗannan fayilolin azaman samfuran CommonJS sai dai idan an ƙayyade nau'in su a sarari a cikin kunshin.json fayil ɗin da ke cikin wannan jagorar ("nau'in": "module"). A cikin sabon sigar, don fayilolin da ba a kayyade nau'ikan su ba a cikin package.json, da farko yana ƙoƙarin ɗauka azaman tsarin CommonJS, kuma idan wannan ya gaza, to azaman ESM module.
  • An ƙara aiwatar da gwaji masu dacewa da masu bincike An tsara API ɗin Ajiya na Yanar Gizo don adana bayanai masu mahimmanci/daraja masu ɗorewa (aji na localStorage) ko na ɗan lokaci (aji na sessionStorage) na bayanai masu mahimmanci/daraja. Taimakawa tallafin Ajiya na Yanar Gizo yana buƙatar gudanar da API tare da tutar "--experimental-webstorage" da kuma ƙayyade hanyar zuwa fayil ɗin ajiya ta amfani da tutar "--localstorage-file".
  • Ƙara API ɗin gwaji na SQLite don aiki tare da bayanan bayanai ta amfani da yaren tambayar SQL da ma'ajiya bisa laburare na SQLite. Baya ga adana bayanai a cikin fayil akan faifai, ana kuma iya sanya shi cikin ƙwaƙwalwar ajiya ta hanyar tantance “: memory:” maimakon sunan fayil. Ana kuma aiwatar da API ɗin Adanawan Yanar Gizo da aka ambata a saman SQLite, wanda ya haifar da ƙari na SQLite azaman dogaro ga Node.js.
  • An ayyana umarnin “node —run” a tsaye, an tsara shi don gudanar da rubutun da aka ayyana a cikin fayil ɗin kunshin.json.
  • Aiwatar da zaɓi na zaɓi don caching ɗin da aka haɗa lamba akan faifai don hanzarta ƙaddamar da kayayyaki. Ana kunna caching ta hanyar canjin yanayi na NODE_COMPILE_CACHE. Dangane da manufar sa, fasalin yayi kama da kunshin v8-compile-cache, amma ya bambanta da babban aiki da goyan baya ga samfuran ESM.
  • An inganta abin Buffer don haɓaka aikin Buffer.copy() da Buffer.write() hanyoyin.
  • An inganta aikin node:fs module, wanda kuma yana rage yawan kira zuwa lambar C++ yayin aiki.
  • An sabunta injin V8 zuwa sigar 12.9, wanda aka yi amfani da shi a cikin Chromium 129.
  • An cire tallafi don tsarin OS na bit 32 Windows.
  • Saboda gabatarwar fasalulluka da aka ayyana a ma'aunin C++8 a cikin Node.js da injin V20, an ƙara buƙatun sigar mai haɗa GCC. Ginin Node.js yanzu yana buƙatar aƙalla GCC 12.

Ana iya amfani da dandamalin Node.js don tallafawa aikace-aikacen yanar gizo na ɓangaren sabar da kuma ƙirƙirar shirye-shiryen hanyar sadarwa na yau da kullun na abokin ciniki da na ɓangaren sabar. Don faɗaɗa ayyukan aikace-aikacen Node.js, an shirya tarin kayayyaki masu yawa, gami da waɗanda ke aiwatarwa. sabobin da kuma abokan ciniki na HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, kayayyaki don haɗawa da tsarin yanar gizo daban-daban, masu sarrafa WebSocket da Ajax, masu haɗawa zuwa DBMS (MySQL, PostgreSQL, SQLite, MongoDB), injunan samfura, injunan CSS, aiwatar da algorithms na ɓoye bayanai da tsarin izini (OAuth), masu nazarin XML.

Don kula da adadi mai yawa na buƙatun layi ɗaya, Node.js yana amfani da tsarin aiwatar da lambar asynchronous bisa ga sarrafa abubuwan da ba sa toshewa da masu sarrafa kira. Hanyoyin haɗakarwa da aka tallafawa sun haɗa da epoll, kqueue, /dev/poll, da zaɓi. Laburaren libuv, wanda shine babban saitin libev akan tsarin Unix da IOCP akan IOCP, ana amfani da shi don haɗakarwa. WindowsAna amfani da ɗakin karatu na libeio don ƙirƙirar wurin zare, kuma an haɗa c-ares don yin tambayoyin DNS a cikin yanayin da ba ya toshewa. Duk kiran tsarin toshewa ana aiwatar da su a cikin wurin zare sannan, kamar masu sarrafa sigina, suna dawo da sakamakonsu ta hanyar bututun da ba a san sunansa ba.

Ana tabbatar da aiwatar da lambar JavaScript ta hanyar amfani da injin V8 wanda Google ya haɓaka (Bugu da ƙari, Microsoft yana haɓaka sigar Node.js tare da injin Chakra-Core). A ainihinsa, Node.js yayi kama da Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks da kuma aiwatar da abubuwan da suka faru a cikin Tcl, amma madauki na taron a Node.js yana ɓoye daga mai haɓakawa kuma yayi kama da aikin aiki a cikin aikace-aikacen yanar gizo. aiki a browser.

source: budenet.ru

Sayi amintaccen masauki don shafuka tare da kariyar DDoS, sabar VPS VDS 🔥 Sayi ingantaccen masaukin yanar gizo tare da kariyar DDoS, sabar VPS VDS | ProHoster