Dandalin Deno JavaScript ya dace da kayan aikin NPM

An fitar da Deno 1.28, wani tsari na sandboxing JavaScript da aikace-aikacen TypeScript waɗanda za a iya amfani da su don ƙirƙirar masu sarrafa uwar garken. Ryan Dahl, mahaliccin Node.js ne ya haɓaka dandalin. Kamar Node.js, Deno yana amfani da injin V8 JavaScript, wanda kuma ake amfani dashi a cikin masu bincike na tushen Chromium. A lokaci guda, Deno ba cokali mai yatsa na Node.js bane, amma sabon aikin ne da aka kirkira daga karce. Ana rarraba lambar aikin a ƙarƙashin lasisin MIT. An shirya ginin don Linux, Windows da macOS.

An ƙirƙiri aikin Deno don samarwa masu amfani da mafi amintaccen muhalli da kuma kawar da kurakuran ra'ayi a cikin gine-ginen Node.js. Don inganta tsaro, an rubuta injin V8 a cikin Rust, wanda ke guje wa yawancin lahani da ke tasowa daga ƙananan ƙananan ƙwaƙwalwar ajiya. Don aiwatar da buƙatun a yanayin da ba tare da toshewa ba, ana amfani da dandalin Tokio, wanda kuma aka rubuta a cikin Rust. Tokio yana ba ku damar ƙirƙira manyan aikace-aikacen aikace-aikace dangane da gine-ginen da ke haifar da aukuwa, tallafawa masu zare da yawa da sarrafa buƙatun hanyar sadarwa a yanayin asynchronous.

Wani mahimmin canji a cikin sabon sakin shine daidaitawar daidaituwa tare da fakitin da aka shirya a cikin ma'ajiyar NPM, wanda ke ba Deno damar amfani da fiye da nau'ikan 1.3 miliyan da aka kirkira don dandalin Node.js. Misali, aikace-aikacen tushen Deno yanzu na iya amfani da na'urorin samun damar bayanai na ci gaba kamar Prisma, Mongoose da MySQL, da kuma tsarin gaba-gaba kamar React da Vue. Wasu nau'ikan NPM har yanzu sun kasance marasa jituwa tare da Deno, misali saboda ɗaure zuwa takamaiman abubuwan muhalli na Node.js kamar fayil ɗin package.json. Har yanzu bai yiwu a yi amfani da umarnin "deno compile" tare da kayan aikin NPM ba. Fitowa na gaba suna shirin magance waɗannan rashin daidaituwa da iyakoki.

Goyon baya ga tsarin tsarin ECMAScript na Deno da aka yi amfani da shi a baya da kuma samfurin Yanar Gizo API ana kiyaye shi a matakin guda, kuma ana amfani da tsarin lodin tushen URL na Deno don shigo da kayayyaki na NPM. Don samun damar samfuran NPM, akwai prefix URL na musamman "npm:", wanda za'a iya amfani dashi daidai da na'urorin Deno na yau da kullun. Misali, don shigo da tsarin NPM, zaku iya saka 'shigo da alli } daga "npm: chalk@5";', kuma don gudanar da rubutun NPM daga layin umarni - "deno run --allow-env --allow -karanta npm:create-vite-extra."

Yin amfani da fakitin NPM a cikin Deno ya fi sauƙi fiye da a cikin Node.js, tun da babu buƙatar shigar da kayayyaki (an shigar da kayayyaki lokacin da aka fara ƙaddamar da aikace-aikacen), babu fayil ɗin kunshin.json, kuma babu tsoho node_modules. directory (modules an adana su a cikin kundin adireshi, amma yana yiwuwa a dawo da tsohon hali ta amfani da zaɓin "- node-modules-dir").

Aikace-aikacen tushen NPM suna riƙe da ikon yin amfani da ikon samun damar Deno, keɓewa, da ƙarfin ci gaba na tsaro. Don magance hare-hare ta hanyar abin dogaro, Deno yana toshe ta tsohuwa duk ƙoƙarin samun damar shiga tsarin daga abin dogaro kuma yana nuna gargaɗi game da matsalolin da aka gano. Misali, lokacin da tsarin ya yi ƙoƙarin samun damar rubutawa zuwa /usr/bin/, za a nuna buƙatar tabbatarwa don wannan aiki: deno run npm:install-malware ⚠️ ┌ Buƙatun Deno rubuta damar zuwa /usr/bin/. ├ An buƙata ta `install-malware` ├ Yi sake kunnawa tare da --allow-write don ƙetare wannan faɗakarwa. └ Izinin? [y/n] (y = eh, izini; n = a'a, ƙaryatãwa) >

Abubuwan da ba NPM ba a cikin sabon sigar sun haɗa da sabunta injin V8 don saki 10.9, gano fayiloli ta atomatik tare da makullai, daidaitawar Deno.bench (), Deno.gid (), Deno.networkInterfaces (), Deno.systemMemoryInfo() da Deno APIs. .uid(), ƙara sabon API mara tsayayye Deno.Command() don gudanar da umarni (masanyawa na duniya don Deno.spawn, Deno.spawnSync da Deno.spawnChild).

Babban fasali na Deno:

  • Tsarin tsoho mai tushen tsaro. Samun fayil, hanyar sadarwa, da samun dama ga masu canjin yanayi an kashe su ta tsohuwa kuma dole ne a kunna su a sarari. Aikace-aikace ta tsohuwa suna gudana a keɓance mahallin akwatin sandbox kuma ba za su iya samun damar tsarin damar ba tare da bayar da takamaiman izini ba;
  • Taimako na ciki don TypeScript bayan JavaScript. Don duba nau'in da kuma tsarar JavaScript, ana amfani da daidaitaccen mai tarawa TypeScript, wanda ke haifar da raguwar aiki idan aka kwatanta da JavaScript parsing a cikin V8;
  • Lokacin gudu yana zuwa a cikin nau'i na fayil ɗin aiwatarwa mai sarrafa kansa guda ɗaya ("deno"). Don gudanar da aikace-aikacen ta amfani da Deno, kawai kuna buƙatar zazzage fayil guda ɗaya wanda za'a iya aiwatarwa don dandamalin ku, girman girman 30 MB, wanda ba shi da dogaro na waje kuma baya buƙatar shigarwa na musamman akan tsarin. Bugu da ƙari, deno ba aikace-aikacen monolithic ba ne, amma tarin fakitin tsatsa ne (deno_core, rusty_v8), wanda za'a iya amfani dashi daban;
  • Lokacin fara shirin, kazalika don loda kayayyaki, zaku iya amfani da adireshin URL. Misali, don gudanar da shirin welcome.js, zaku iya amfani da umarnin "deno https://deno.land/std/examples/welcome.js". Ana zazzage lamba daga albarkatun waje kuma ana adana su akan tsarin gida, amma ba a sabunta ta atomatik (sabuntawa yana buƙatar aiwatar da aikace-aikacen a sarari tare da tutar “--sake saukewa”);
  • Ingantacciyar sarrafa buƙatun hanyar sadarwa ta hanyar HTTP a cikin aikace-aikace; an ƙera dandamali don ƙirƙirar aikace-aikacen cibiyar sadarwa mai inganci;
  • Ikon ƙirƙirar aikace-aikacen yanar gizo na duniya waɗanda za'a iya kashe su duka a cikin Deno kuma a cikin mai binciken gidan yanar gizo na yau da kullun;
  • Kasancewar ma'auni na ƙayyadaddun kayayyaki, wanda amfani da su baya buƙatar ɗaure ga abubuwan dogaro na waje. Modules daga daidaitattun tarin sun sami ƙarin bincike da gwajin dacewa;
  • Baya ga lokacin aiki, dandalin Deno kuma yana aiki azaman mai sarrafa fakiti kuma yana ba ku damar samun dama ga kayayyaki ta URL a cikin lambar. Misali, don loda tsarin, zaku iya saka a cikin lambar “shigo da * azaman log daga “https://deno.land/std/log/mod.ts”. Fayilolin da aka sauke daga sabar na waje ta hanyar URL an adana su. Ana ƙayyade nau'ikan nau'ikan nau'ikan nau'ikan ta hanyar tantance lambobi a cikin URL, misali, “https://unpkg.com/[email kariya]/dist/liltest.js";
  • Tsarin ya haɗa da tsarin dubawa mai haɗaɗɗen dogaro (umarnin "deno info") da mai amfani don tsara lambar (deno fmt);
  • Ana iya haɗa duk rubutun aikace-aikacen zuwa fayil ɗin JavaScript ɗaya.

source: budenet.ru

Add a comment