Deno již podporuje moduly NPM

deno npm

Platformu vyvíjí Ryan Dahl, tvůrce Node.js.

Nedávno byla zveřejněna zpráva o vydání nové verze frameworku Deno 1.28, který umožňuje spouštění samostatných aplikací JavaScript a TypeScript, které lze použít k vytvoření řadičů běžících na serveru.

Deno byl vytvořen, aby uživatelům poskytoval bezpečnější prostředí a eliminovat mylné představy v architektuře Node.js. Pro zlepšení zabezpečení je vazba kolem enginu V8 napsána v jazyce Rust, což zabraňuje mnoha zranitelnostem, které vznikají kvůli práci s pamětí na nízké úrovni.

Pro zpracování požadavků v neblokovacím režimu se používá framework Tokio, také napsaný v Rustu. Tokio vám umožňuje vytvářet vysoce výkonné aplikace založené na architektuře řízené událostmi, která podporuje multithreading a zpracovává síťové požadavky asynchronně.

Některé z funkcí Hlavní z nich jsou následující:

  • Vestavěná podpora jazyka TypeScript kromě JavaScriptu. Ke kontrole typů a generování JavaScriptu se používá běžný kompilátor TypeScript, což vede k poklesu výkonu ve srovnání s analýzou JavaScriptu ve V8.
  • Runtime je k dispozici ve formě jednoho samostatného spustitelného souboru („deno“). Pro spouštění aplikací pomocí Deno si jednoduše stáhnete spustitelný soubor pro vaši platformu o velikosti asi 30 MB, který nemá žádné externí závislosti a nevyžaduje žádnou speciální instalaci do vašeho systému.
  • Efektivní aplikační zpracování síťových požadavků přes HTTP, platforma je navržena pro vytváření vysoce výkonných síťových aplikací
  • Možnost vytvářet univerzální webové aplikace, které lze spustit jak v Deno, tak v běžném webovém prohlížeči
  • Přítomnost standardní sady modulů, jejichž použití nevyžaduje propojení s externími závislostmi.
  • Moduly ze standardní kolekce byly dodatečně auditovány a testovány na kompatibilitu
  • Balíček obsahuje vestavěný systém kontroly závislostí (příkaz "deno info") a nástroj pro formátování kódu (deno fmt).
  • Všechny aplikační skripty lze sloučit do jednoho souboru JavaScript.

Hlavní novinky Deno 1.28

Klíčovou změnou v nové verzi je stabilizace kompatibility s balíčky hostovanými v úložišti NPM, co umožňuje společnosti Deno používat více než 1,3 milionu modulů vytvořené pro platformu Node.js. Například aplikace založené na Deno nyní mohou používat moduly pro trvalý přístup k datům, jako jsou Prisma, Mongoose a MySQL, a také front-endové rámce jako React a Vue.

Některé moduly NPM jsou stále nekompatibilní s Deno, například kvůli vazbám na konkrétní prostředí Node.js, jako je soubor package.json. U modulů NPM také není možné použít příkaz „deno kompilovat“. Budoucí vydání jsou plánována k vyřešení těchto nekompatibilit a omezení.

Modulový systém Deno starší ECMAScript a model modulu Web API zůstávají stejnéa k importu modulů NPM se používá známé schéma načítání založené na adresách URL společnosti Deno.

Používání balíčků NPM v Deno je mnohem jednodušší než v Node.js, protože není potřeba předinstalovat moduly (moduly se instalují při prvním spuštění aplikace), soubor package.json se nepoužívá a adresář node_modules se nepoužívá, se standardně používá (moduly se ukládají do mezipaměti ve sdíleném adresáři, ale předchozí chování je možné vrátit volbou "--node-modules-dir").

aplikace založené na NPM si zachovává schopnost používat mechanismy řízení přístupu, Deno izolace a aktivace pro pokročilé funkce, které ovlivňují bezpečnost. Chcete-li čelit útokům prostřednictvím pochybných závislostí, Deno ve výchozím nastavení blokuje všechny pokusy o přístup do systému ze závislostí a zobrazí varování o zjištěných problémech. Například, když se modul pokusí zapsat do /usr/bin/, zobrazí se výzva k potvrzení této operace:

Vylepšení nesouvisející s NPM v nové verzi včetně modernizace motoru V8 pro verzi 10.9, automatická detekce souborů se zámky, stabilizace Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() a Deno API. .uid(), která přidává nové nestabilní API Deno.Command() pro provádění příkazů (univerzální náhrada za Deno.spawn, Deno.spawnSync a Deno.spawnChild).

Nakonec stojí za zmínku Stejně jako Node.js, Deno používá V8 JavaScript engine., který se také používá v prohlížečích založených na Chromiu. Deno přitom není fork Node.js, ale nový projekt postavený od nuly. Kód projektu je distribuován pod licencí MIT a existují hotové sestavení pro Linux, Windows a macOS.

Pokud zájem se o tom dozvědět více, můžete se poradit následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.