Deno stöder redan NPM-moduler

deno npm

Plattformen utvecklas av Ryan Dahl, skapare av Node.js.

nyligen nyheten om lanseringen av den nya versionen av ramverket Deno 1.28 släpptes, som möjliggör exekvering av fristående JavaScript- och TypeScript-applikationer som kan användas för att skapa kontroller som körs på servern.

Deno skapades för att ge användarna en säkrare miljö och eliminera missuppfattningar i Node.js-arkitekturen. För att förbättra säkerheten är bindningen runt V8-motorn skriven i Rust, vilket förhindrar många sårbarheter som uppstår på grund av minneshantering på låg nivå.

För att behandla förfrågningar i icke-blockerande läge används Tokio-ramverket, även skrivet i Rust. Tokio låter dig skapa högpresterande applikationer baserade på händelsedriven arkitektur, som stödjer multitrådning och bearbetar nätverksförfrågningar asynkront.

Några av funktionerna Denos främsta är följande:

  • Inbyggt TypeScript-språkstöd utöver JavaScript. För att kontrollera typer och generera JavaScript används den vanliga TypeScript-kompilatorn, vilket leder till sämre prestanda jämfört med JavaScript-parsning i V8.
  • Körtiden kommer i form av en enda fristående körbar ("deno"). För att köra applikationer med Deno laddar du helt enkelt ner en körbar fil för din plattform, cirka 30 MB i storlek, som inte har några externa beroenden och inte kräver någon speciell installation på ditt system.
  • Effektiv applikationsbehandling av nätverksförfrågningar via HTTP, plattformen är designad för att bygga högpresterande nätverksapplikationer
  • Möjligheten att skapa universella webbapplikationer som kan köras både i Deno och i en vanlig webbläsare
  • Förekomsten av en standarduppsättning av moduler, vars användning inte kräver länkning till externa beroenden.
  • Moduler från standardkollektionen har dessutom granskats och testats för kompatibilitet
  • Paketet innehåller ett inbyggt beroendekontrollsystem ("deno info"-kommando) och ett kodformateringsverktyg (deno fmt).
  • Alla applikationsskript kan kombineras till en JavaScript-fil.

Huvudnyheter om Deno 1.28

Den viktigaste förändringen i den nya versionen är stabilisering av kompatibilitet med paket som finns i NPM-förvaret, Vad tillåter Deno att använda mer än 1,3 miljoner moduler byggd för Node.js-plattformen. Till exempel kan Deno-baserade applikationer nu använda beständiga dataåtkomstmoduler som Prisma, Mongoose och MySQL, såväl som front-end-ramverk som React och Vue.

Vissa NPM-moduler är fortfarande inkompatibla med Deno, till exempel på grund av bindningar till specifika Node.js-miljöer, som filen package.json. Det är inte heller möjligt att använda kommandot "deno compile" med NPM-moduler. Framtida utgåvor planeras för att åtgärda dessa inkompatibiliteter och begränsningar.

Modulsystemet Deno äldre ECMAScript- och Web API-modulmodell förblir densamma, och Denos välbekanta URL-baserade laddningsschema används för att importera NPM-moduler.

Att använda NPM-paket i Deno är mycket enklare än i Node.js, eftersom det inte finns något behov av att förinstallera moduler (moduler installeras när applikationen startas för första gången), filen package.json används inte och katalogen node_modules används inte, används som standard (moduler cachelagras i den delade katalogen, men det är möjligt att återställa det tidigare beteendet med alternativet "--node-modules-dir").

applikationer baserade på NPM behåller möjligheten att använda åtkomstkontrollmekanismer, Deno isolering och aktivering för avancerade funktioner som påverkar säkerheten. För att motverka attacker via tvivelaktiga beroenden, Deno blockerar som standard alla försök att komma åt systemet från beroenden och visar en varning om upptäckta problem. Till exempel, när modulen försöker skriva till /usr/bin/, kommer en bekräftelseprompt att visas för denna operation:

Icke-NPM-relaterade förbättringar i den nya versionen inkluderar V8-motoruppgradering för version 10.9, automatisk upptäckt av filer med lås, stabilisering av Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo( ) och Deno API:erna. .uid(), lägger till ett nytt instabilt API Deno.Command() för att köra kommandon (universell ersättning för Deno.spawn, Deno.spawnSync och Deno.spawnChild).

Slutligen är det värt att nämna det Precis som Node.js använder Deno V8 JavaScript-motorn., som också används i Chromium-baserade webbläsare. Samtidigt är Deno inte en gaffel av Node.js, utan ett nytt projekt byggt från grunden. Projektets kod distribueras under MIT-licensen och det finns färdiga builds för Linux, Windows och macOS.

Om du är det intresserad av att veta mer om det, du kan rådfråga följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.