Deno už podporuje moduly npm

deno npm

Platformu vyvíja Ryan Dahl, tvorca Node.js.

Nedávno bola zverejnená správa o vydaní novej verzie frameworku Deno 1.28, ktorý umožňuje spúšťanie samostatných aplikácií JavaScript a TypeScript, ktoré možno použiť na vytvorenie radičov, ktoré bežia na serveri.

Deno bol vytvorený s cieľom poskytnúť používateľom bezpečnejšie prostredie a eliminovať mylné predstavy v architektúre Node.js. Na zlepšenie bezpečnosti je väzba okolo motora V8 napísaná v jazyku Rust, čo zabraňuje mnohým zraniteľnostiam, ktoré vznikajú v dôsledku manipulácie s pamäťou na nízkej úrovni.

Na spracovanie požiadaviek v neblokovanom režime sa používa rámec Tokio, tiež napísaný v jazyku Rust. Tokio vám umožňuje vytvárať vysokovýkonné aplikácie založené na architektúre riadenej udalosťami, podporujúce multithreading a asynchrónne spracovanie sieťových požiadaviek.

Niektoré z funkcií Hlavné z nich sú tieto:

  • Zabudovaná podpora jazyka TypeScript okrem JavaScriptu. Na kontrolu typov a generovanie JavaScriptu sa používa bežný kompilátor TypeScript, čo vedie k poklesu výkonu v porovnaní s analýzou JavaScriptu vo V8.
  • Runtime prichádza vo forme jedného samostatného spustiteľného súboru („deno“). Na spustenie aplikácií pomocou Deno si jednoducho stiahnete spustiteľný súbor pre vašu platformu s veľkosťou približne 30 MB, ktorý nemá žiadne externé závislosti a nevyžaduje žiadnu špeciálnu inštaláciu do vášho systému.
  • Efektívne aplikačné spracovanie sieťových požiadaviek cez HTTP, platforma je navrhnutá na vytváranie vysokovýkonných sieťových aplikácií
  • Možnosť vytvárať univerzálne webové aplikácie, ktoré môžu bežať v Deno aj v bežnom webovom prehliadači
  • Prítomnosť štandardnej sady modulov, ktorých použitie nevyžaduje prepojenie s externými závislosťami.
  • Moduly zo štandardnej kolekcie boli dodatočne auditované a testované na kompatibilitu
  • Balík obsahuje vstavaný systém kontroly závislostí (príkaz "deno info") a nástroj na formátovanie kódu (deno fmt).
  • Všetky aplikačné skripty je možné spojiť do jedného súboru JavaScript.

Hlavné správy Deno 1.28

Kľúčovou zmenou v novej verzii je stabilizácia kompatibility s balíkmi umiestnenými v úložisku NPM, čo umožňuje spoločnosti Deno používať viac ako 1,3 milióna modulov vytvorený pre platformu Node.js. Napríklad aplikácie založené na Deno teraz môžu používať moduly trvalého prístupu k údajom, ako sú Prisma, Mongoose a MySQL, ako aj front-end rámce ako React a Vue.

Niektoré moduly NPM sú stále nekompatibilné s Deno, napríklad kvôli väzbám na špecifické prostredia Node.js, ako je súbor package.json. Pri moduloch NPM tiež nie je možné použiť príkaz „deno compilovať“. Budúce vydania sú plánované na odstránenie týchto nekompatibilít a obmedzení.

Modulový systém Deno starý ECMAScript a model modulu Web API zostávajú rovnakéa na import modulov NPM sa používa známa schéma načítania podľa adresy URL spoločnosti Deno.

Používanie balíkov NPM v Deno je oveľa jednoduchšie ako v Node.js, pretože nie je potrebné predinštalovať moduly (moduly sa inštalujú pri prvom spustení aplikácie), súbor package.json sa nepoužíva a adresár node_modules sa nepoužíva, sa štandardne používa (moduly sa ukladajú do medzipamäte v zdieľanom adresári, ale je možné vrátiť predchádzajúce správanie pomocou voľby "--node-modules-dir").

aplikácie založené na NPM si zachováva schopnosť používať mechanizmy kontroly prístupu, Deno izolácia a aktivácia pre pokročilé funkcie, ktoré ovplyvňujú bezpečnosť. Ak chcete čeliť útokom prostredníctvom pochybných závislostí, Deno štandardne blokuje všetky pokusy o prístup do systému zo závislostí a zobrazí varovanie o zistených problémoch. Napríklad, keď sa modul pokúsi zapísať do /usr/bin/, zobrazí sa výzva na potvrdenie tejto operácie:

Vylepšenia nesúvisiace s NPM v novej verzii vrátane modernizácie motora V8 pre verziu 10.9, automatická detekcia súborov so zámkami, stabilizácia Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() a Deno API. .uid(), ktorý pridáva nové nestabilné API Deno.Command() na vykonávanie príkazov (univerzálna náhrada za Deno.spawn, Deno.spawnSync a Deno.spawnChild).

Nakoniec to stojí za zmienku Podobne ako Node.js, aj Deno používa V8 JavaScript engine., ktorý sa používa aj v prehliadačoch založených na prehliadači Chromium. Deno zároveň nie je fork Node.js, ale nový projekt postavený od nuly. Kód projektu je distribuovaný pod licenciou MIT a existujú hotové zostavy pre Linux, Windows a macOS.

Ak ste záujem dozvedieť sa o tom viac, môžete sa poradiť nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.