Deno ondersteunt al npm-modules

deno npm

Het platform wordt ontwikkeld door Ryan Dahl, maker van Node.js.

onlangs het nieuws van de release van de nieuwe versie van het Deno 1.28-framework is vrijgegeven, waarmee stand-alone JavaScript- en TypeScript-applicaties kunnen worden uitgevoerd die kunnen worden gebruikt om controllers te maken die op de server worden uitgevoerd.

Deno is gemaakt om gebruikers een veiligere omgeving te bieden en elimineer misvattingen in de Node.js-architectuur. Om de veiligheid te verbeteren, is de binding rond de V8-motor geschreven in Rust, wat veel kwetsbaarheden voorkomt die ontstaan ​​door low-level geheugenverwerking.

Om verzoeken in niet-blokkerende modus te verwerken, wordt het Tokio-framework, ook geschreven in Rust, gebruikt. Met Tokio kunt u krachtige toepassingen maken op basis van gebeurtenisgestuurde architectuur, die multithreading ondersteunt en netwerkverzoeken asynchroon verwerkt.

Enkele van de functies De belangrijkste van Deno zijn de volgende:

  • Ingebouwde TypeScript-taalondersteuning naast JavaScript. Om typen te controleren en JavaScript te genereren, wordt de reguliere TypeScript-compiler gebruikt, wat leidt tot prestatievermindering in vergelijking met JavaScript-parsing in V8.
  • De runtime komt in de vorm van een enkel stand-alone uitvoerbaar bestand ("deno"). Om applicaties met Deno uit te voeren, downloadt u eenvoudig een uitvoerbaar bestand voor uw platform, ongeveer 30 MB groot, dat geen externe afhankelijkheden heeft en geen speciale installatie op uw systeem vereist.
  • Efficiënte applicatieverwerking van netwerkverzoeken via HTTP, het platform is ontworpen om krachtige netwerkapplicaties te bouwen
  • De mogelijkheid om universele webapplicaties te maken die zowel in Deno als in een gewone webbrowser kunnen worden uitgevoerd
  • De aanwezigheid van een standaard set modules, waarvan het gebruik geen koppeling met externe afhankelijkheden vereist.
  • Modules uit de standaardcollectie zijn bovendien gecontroleerd en getest op compatibiliteit
  • Het pakket bevat een ingebouwd afhankelijkheidsinspectiesysteem ("deno info"-opdracht) en een hulpprogramma voor het formatteren van codes (deno fmt).
  • Alle toepassingsscripts kunnen worden gecombineerd tot één JavaScript-bestand.

Belangrijkste nieuws van Deno 1.28

De belangrijkste verandering in de nieuwe versie is de stabilisatie van compatibiliteit met pakketten die worden gehost in de NPM-repository, wat stelt Deno in staat om meer dan 1,3 miljoen modules te gebruiken gebouwd voor het Node.js-platform. Op Deno gebaseerde applicaties kunnen nu bijvoorbeeld persistente datatoegangsmodules zoals Prisma, Mongoose en MySQL gebruiken, evenals front-end frameworks zoals React en Vue.

Sommige NPM-modules zijn nog steeds niet compatibel met Deno, bijvoorbeeld vanwege bindingen met specifieke Node.js-omgevingen, zoals het bestand package.json. Het is ook niet mogelijk om de opdracht "deno compile" te gebruiken met NPM-modules. Toekomstige releases zijn gepland om deze onverenigbaarheden en beperkingen aan te pakken.

Het modulesysteem Het verouderde ECMAScript- en Web API-modulemodel van Deno blijft hetzelfde, en Deno's bekende URL-gebaseerde laadschema wordt gebruikt om NPM-modules te importeren.

Het gebruik van NPM-pakketten in Deno is veel eenvoudiger dan in Node.js, omdat het niet nodig is om vooraf modules te installeren (modules worden geïnstalleerd wanneer de applicatie voor de eerste keer wordt gestart), wordt het bestand package.json niet gebruikt en wordt de map node_modules niet gebruikt, wordt standaard gebruikt (modules worden gecached in de gedeelde map, maar het is mogelijk om het vorige gedrag terug te draaien met de optie "--node-modules-dir").

applicaties gebaseerd op NPM behoudt de mogelijkheid om toegangscontrolemechanismen te gebruiken, Deno-isolatie en activering voor geavanceerde functies die van invloed zijn op de beveiliging. Om aanvallen via twijfelachtige afhankelijkheden tegen te gaan, Deno blokkeert standaard alle pogingen om toegang te krijgen tot het systeem vanuit afhankelijkheden en geeft een waarschuwing weer over gedetecteerde problemen. Wanneer de module bijvoorbeeld probeert te schrijven naar /usr/bin/, wordt er een bevestigingsvraag weergegeven voor deze bewerking:

Niet-NPM-gerelateerde verbeteringen in de nieuwe versie inclusief upgrade van de V8-motor voor versie 10.9, automatische detectie van bestanden met sloten, stabilisatie van Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo( ), en de Deno API's. .uid(), een nieuwe onstabiele API Deno.Command() toegevoegd om commando's uit te voeren (universele vervanging voor Deno.spawn, Deno.spawnSync en Deno.spawnChild).

Tot slot is het vermeldenswaard dat Net als Node.js gebruikt Deno de V8 JavaScript-engine., dat ook wordt gebruikt in op Chromium gebaseerde browsers. Tegelijkertijd is Deno geen fork van Node.js, maar een nieuw project dat vanaf nul is opgebouwd. De code van het project wordt gedistribueerd onder de MIT-licentie en er zijn kant-en-klare builds voor Linux, Windows en macOS.

Wanneer je geïnteresseerd om er meer over te weten, u kunt raadplegen de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.