Deno støtter allerede npm-moduler

deno npm

Plattformen utvikles av Ryan Dahl, skaperen av Node.js.

nylig nyheten om utgivelsen av den nye versjonen av Deno-rammeverket 1.28 ble utgitt, som muliggjør kjøring av frittstående JavaScript- og TypeScript-applikasjoner som kan brukes til å lage kontrollere som kjører på serveren.

Deno ble opprettet for å gi brukerne et sikrere miljø og eliminere konseptuelle feil i Node.js-arkitekturen. For å forbedre sikkerheten er bindingen rundt V8-motoren skrevet i Rust, noe som unngår mange sårbarheter som oppstår på grunn av minnehåndtering på lavt nivå.

For å behandle forespørsler i ikke-blokkerende modus, brukes Tokyo-rammeverket, også skrevet i Rust. Tokyo lar deg lage applikasjoner med høy ytelse basert på hendelsesdrevet arkitektur, som støtter multithreading og behandler nettverksforespørsler i asynkron modus.

Noen av funksjonene Denos rektorer er som følger:

  • Innebygd TypeScript-språkstøtte i tillegg til JavaScript. For å sjekke typer og generere JavaScript, brukes den vanlige TypeScript-kompilatoren, noe som fører til et ytelsesfall sammenlignet med å analysere JavaScript i V8.
  • Kjøretiden kommer i form av en enkelt selvstendig kjørbar ("deno"). For å kjøre applikasjoner som bruker Deno, laster du bare ned en kjørbar fil for plattformen din, omtrent 30 MB i størrelse, som ikke har noen eksterne avhengigheter og ikke krever noen spesiell installasjon på systemet ditt.
  • Effektiv applikasjonsbehandling av nettverksforespørsler via HTTP, plattformen er designet for å lage nettverksapplikasjoner med høy ytelse
  • Muligheten til å lage universelle nettapper som kan kjøres på både Deno og en vanlig nettleser
  • Tilstedeværelsen av et standard sett med moduler, hvis bruk ikke krever binding til eksterne avhengigheter.
  • Standard Collection-moduler er videre revidert og testet for kompatibilitet
  • Pakken inkluderer et innebygd avhengighetsinspeksjonssystem (deno info-kommando) og et kodeformateringsverktøy (deno fmt)
  • Alle applikasjonsskript kan kombineres til én JavaScript-fil.

Hovednyhetene til Deno 1.28

Den viktigste endringen i den nye versjonen er stabilisert kompatibilitet med pakker som ligger i npm-lageret, hva lar Deno bruke mer enn 1,3 millioner moduler bygget for Node.js-plattformen. For eksempel kan Deno-baserte applikasjoner nå bruke vedvarende datatilgangsmoduler som Prisma, Mongoose og MySQL, samt front-end-rammeverk som React og Vue.

Noen npm-moduler er fortsatt inkompatible med Deno, for eksempel på grunn av bindinger til spesifikke Node.js-miljøer, for eksempel filen package.json. Det er heller ikke mulig å bruke kommandoen "deno compile" med NPM-moduler. Fremtidige utgivelser er planlagt for å løse disse inkompatibilitetene og begrensningene.

Modulsystemet ECMAScript arvet fra Deno og Web API-modulmodellen forblir den samme, og Denos velkjente URL-baserte lasteskjema brukes til å importere NPM-moduler.

Å bruke NPM-pakker i Deno er mye enklere enn i Node.js, fordi det ikke er nødvendig å forhåndsinstallere moduler (moduler installeres når applikasjonen startes for første gang), filen package.json brukes ikke og katalogen node_modules brukes ikke, det brukes som standard (moduler bufres i den delte katalogen, men det er mulig å tilbakestille den forrige oppførselen med alternativet “–node-modules-dir”).

søknader basert på NPM beholder muligheten til å bruke tilgangskontrollmekanismer, Deno isolasjon og aktivering for avanserte funksjoner som påvirker sikkerheten. For å motvirke angrep via tvilsomme avhengigheter, Deno blokkerer som standard alle forsøk på å få tilgang til systemet fra avhengigheter og viser en advarsel om oppdagede problemer. For eksempel, når modulen prøver å skrive til /usr/bin/, vil en bekreftelsesmelding for denne operasjonen vises:

Forbedringer som ikke er relatert til NPM i den nye versjonen inkluderer V8-motoroppgradering for versjon 10.9, automatisk gjenkjenning av låste filer, stabilisering av Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo( ), og Deno API-ene. .uid(), legger til en ny ustabil API Deno.Command() for å utføre kommandoer (universell erstatning for Deno.spawn, Deno.spawnSync og Deno.spawnChild).

Til slutt er det verdt å nevne det I likhet med Node.js bruker Deno V8 JavaScript-motoren., som også brukes i Chromium-baserte nettlesere. Samtidig er Deno ikke en gaffel av Node.js, men et nytt prosjekt bygget fra bunnen av. Prosjektets kode er utgitt under MIT-lisensen, og ferdige bygg er tilgjengelige for Linux, Windows og macOS.

Lur interessert i å vite mer om det, du kan konsultere følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.