Deno jau palaiko npm modulius

deno npm

Platformą kuria Ryanas Dahlas, Node.js kūrėjas.

Neseniai buvo paskelbta žinia apie naujos Deno 1.28 karkaso versijos išleidimą, kuri leidžia vykdyti atskiras „JavaScript“ ir „TypeScript“ programas, kurios gali būti naudojamos kuriant valdiklius, veikiančius serveryje.

Deno buvo sukurtas siekiant suteikti vartotojams saugesnę aplinką ir pašalinti klaidingus supratimus Node.js architektūroje. Siekiant pagerinti saugumą, surišimas aplink V8 variklį parašytas Rust, o tai apsaugo nuo daugelio pažeidžiamumų, atsirandančių dėl žemo lygio atminties tvarkymo.

Norint apdoroti užklausas neblokuojančiu režimu, naudojama Tokio sistema, taip pat parašyta Rust. Tokio leidžia kurti didelio našumo programas, pagrįstas įvykiais pagrįsta architektūra, palaikančiomis daugiagiją ir asinchroniškai apdorojančias tinklo užklausas.

Kai kurios funkcijos Pagrindiniai „Deno“ yra šie:

  • Integruotas TypeScript kalbos palaikymas be JavaScript. Norint patikrinti tipus ir generuoti „JavaScript“, naudojamas įprastas „TypeScript“ kompiliatorius, dėl kurio našumas sumažėja, palyginti su „JavaScript“ analizavimu V8.
  • Vykdymo laikas pateikiamas kaip vienas atskiras vykdomasis failas („deno“). Norėdami paleisti programas naudodami Deno, tiesiog atsisiųskite savo platformai vykdomąjį failą, kurio dydis yra apie 30 MB, kuris neturi išorinių priklausomybių ir nereikalauja jokio specialaus diegimo jūsų sistemoje.
  • Veiksmingas programų apdorojimas tinklo užklausų per HTTP, platforma skirta kurti didelio našumo tinklo programas
  • Galimybė kurti universalias žiniatinklio programas, kurios gali veikti tiek Deno, tiek įprastoje interneto naršyklėje
  • Standartinio modulių rinkinio buvimas, kurio naudojimui nereikia susieti su išorinėmis priklausomybėmis.
  • Moduliai iš standartinės kolekcijos buvo papildomai tikrinami ir suderinami
  • Į paketą įeina įmontuota priklausomybės tikrinimo sistema („deno info“ komanda) ir kodo formatavimo priemonė (deno fmt).
  • Visi programų scenarijai gali būti sujungti į vieną JavaScript failą.

Pagrindinės Deno naujienos 1.28

Pagrindinis naujos versijos pakeitimas yra suderinamumo su paketais, esančiais NPM saugykloje, stabilizavimas, ką leidžia „Deno“ naudoti daugiau nei 1,3 mln. modulių sukurta Node.js platformai. Pavyzdžiui, „Deno“ pagrindu sukurtos programos dabar gali naudoti nuolatinės prieigos prie duomenų modulius, tokius kaip „Prisma“, „Mongoose“ ir „MySQL“, taip pat „front-end“ sistemas, tokias kaip „React“ ir „Vue“.

Kai kurie NPM moduliai vis dar nesuderinami su Deno, pavyzdžiui, dėl susiejimo su konkrečiomis Node.js aplinkomis, pvz., paketu.json failu. Taip pat negalima naudoti komandos „deno compile“ su NPM moduliais. Ateityje planuojama išleisti šiuos nesuderinamumus ir apribojimus.

Modulių sistema Deno senasis ECMAScript ir Web API modulio modelis išlieka toks pat, o NPM moduliams importuoti naudojama pažįstama Deno URL pagrįsta įkėlimo schema.

Naudoti NPM paketus Deno yra daug lengviau nei Node.js, nes nereikia iš anksto diegti modulių (moduliai įdiegiami pirmą kartą paleidus programą), failas package.json nenaudojamas, o katalogas node_modules nenaudojamas, naudojamas pagal numatytuosius nustatymus (moduliai talpykloje saugomi bendrame kataloge, tačiau galima grąžinti ankstesnę elgseną naudojant parinktį „--node-modules-dir“).

paraiškos remiantis NPM išlaiko galimybę naudoti prieigos kontrolės mechanizmus, Deno izoliacija ir aktyvinimas pažangioms funkcijoms, turinčioms įtakos saugumui. Norėdami atremti atakas per abejotinas priklausomybes, Deno pagal numatytuosius nustatymus blokuoja visus bandymus pasiekti sistemą iš priklausomybių ir rodomas įspėjimas apie aptiktas problemas. Pavyzdžiui, kai modulis bando rašyti į /usr/bin/, bus rodomas šios operacijos patvirtinimo raginimas:

Su NPM nesusiję patobulinimai naujoje versijoje įtraukti V8 variklio atnaujinimą 10.9 versijai, automatinis failų su užraktais aptikimas, Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo( ) ir Deno API stabilizavimas. .uid(), pridedant naują nestabilią API Deno.Command() komandoms vykdyti (universalus Deno.spawn, Deno.spawnSync ir Deno.spawnChild pakaitalas).

Galiausiai verta paminėti Kaip ir Node.js, Deno naudoja V8 JavaScript variklį., kuris taip pat naudojamas „Chromium“ pagrindu veikiančiose naršyklėse. Tuo pačiu metu Deno yra ne Node.js šakutė, o naujas projektas, sukurtas nuo nulio. Projekto kodas platinamas pagal MIT licenciją ir yra paruoštų versijų, skirtų „Linux“, „Windows“ ir „MacOS“.

Kakleliai nori sužinoti daugiau apie tai, galite pasikonsultuoti šią nuorodą.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.