Deno tukee jo NPM-moduuleja

deno npm

Alustaa kehittää Ryan Dahl, Node.js:n luoja.

äskettäin uutiset Deno 1.28 -kehyksen uuden version julkaisusta julkaistiin, joka mahdollistaa itsenäisten JavaScript- ja TypeScript-sovellusten suorittamisen, joita voidaan käyttää palvelimella toimivien ohjaimien luomiseen.

Deno luotiin tarjoamaan käyttäjille turvallisempi ympäristö ja poistaa väärinkäsitykset Node.js-arkkitehtuurista. Turvallisuuden parantamiseksi V8-moottorin ympärillä oleva sidos on kirjoitettu Rust-kielellä, mikä estää monia matalan tason muistin käsittelyn aiheuttamia haavoittuvuuksia.

Pyyntöjen käsittelemiseen estotilassa käytetään Tokio-kehystä, joka on myös kirjoitettu rust-kielellä. Tokio antaa sinun luoda korkean suorituskyvyn sovelluksia, jotka perustuvat tapahtumapohjaiseen arkkitehtuuriin, jotka tukevat monisäikeistystä ja käsittelevät verkkopyyntöjä asynkronisesti.

Jotkut ominaisuudet Denon tärkeimmät ovat seuraavat:

  • Sisäänrakennettu TypeScript-kielen tuki JavaScriptin lisäksi. Tyyppien tarkistamiseen ja JavaScriptin luomiseen käytetään tavallista TypeScript-kääntäjää, mikä johtaa suorituskyvyn laskuun verrattuna JavaScript-jäsennykseen V8:ssa.
  • Suoritusaika tulee yhden erillisen suoritettavan tiedoston muodossa ("deno"). Jos haluat käyttää Denoa käyttäviä sovelluksia, lataa alustallesi noin 30 Mt:n suoritettava tiedosto, jolla ei ole ulkoisia riippuvuuksia ja joka ei vaadi erityistä asennusta järjestelmääsi.
  • Tehokas sovelluskäsittely verkkopyyntöjen HTTP:n kautta, alusta on suunniteltu rakentamaan korkean suorituskyvyn verkkosovelluksia
  • Mahdollisuus luoda universaaleja verkkosovelluksia, jotka toimivat sekä Denossa että tavallisessa verkkoselaimessa
  • Vakiomoduulisarjan läsnäolo, jonka käyttö ei vaadi linkitystä ulkoisiin riippuvuuksiin.
  • Standardikokoelman moduulien yhteensopivuus on lisäksi auditoitu ja testattu
  • Paketti sisältää sisäänrakennetun riippuvuuden tarkistusjärjestelmän ("deno info" -komento) ja koodin muotoiluapuohjelman (deno fmt).
  • Kaikki sovellusskriptit voidaan yhdistää yhdeksi JavaScript-tiedostoksi.

Denon tärkeimmät uutiset 1.28

Uuden version tärkein muutos on yhteensopivuuden vakauttaminen NPM-varastossa olevien pakettien kanssa, mitä antaa Denon käyttää yli 1,3 miljoonaa moduulia rakennettu Node.js-alustalle. Esimerkiksi Deno-pohjaiset sovellukset voivat nyt käyttää pysyviä tiedonkäyttömoduuleja, kuten Prisma, Mongoose ja MySQL, sekä käyttöliittymäkehyksiä, kuten React ja Vue.

Jotkut NPM-moduulit ovat edelleen yhteensopimattomia Denon kanssa, esimerkiksi sidoksista tiettyihin Node.js-ympäristöihin, kuten package.json-tiedostoon. Ei myöskään ole mahdollista käyttää "deno compile" -komentoa NPM-moduulien kanssa. Tulevat julkaisut on suunniteltu korjaamaan nämä yhteensopimattomuudet ja rajoitukset.

Moduulijärjestelmä Denon vanha ECMAScript- ja Web API -moduulimalli pysyvät ennallaan, ja Denon tuttua URL-pohjaista latausjärjestelmää käytetään NPM-moduulien tuontiin.

NPM-pakettien käyttäminen Denossa on paljon helpompaa kuin Node.js:ssä, koska moduuleja ei tarvitse esiasentaa (moduulit asennetaan, kun sovellus käynnistetään ensimmäisen kerran), paketti.json-tiedostoa ei käytetä eikä node_modules-hakemistoa käytetä, käytetään oletusarvoisesti (moduulit tallennetaan välimuistiin jaettuun hakemistoon, mutta on mahdollista palauttaa edellinen toiminta "--node-modules-dir" -vaihtoehdolla).

perustuvat sovellukset NPM säilyttää kyvyn käyttää kulunvalvontamekanismeja, Deno-eristys ja aktivointi edistyneille toiminnoille, jotka vaikuttavat turvallisuuteen. Hyökkäyksiä vastaan ​​kyseenalaisten riippuvuuksien kautta Deno estää oletusarvoisesti kaikki yritykset päästä järjestelmään riippuvuuksista ja näyttää varoituksen havaituista ongelmista. Esimerkiksi kun moduuli yrittää kirjoittaa hakemistoon /usr/bin/, näyttöön tulee vahvistuskehote tälle toiminnolle:

Muut kuin NPM:ään liittyvät parannukset uudessa versiossa sisältää V8-moottoripäivityksen versiolle 10.9, automaattinen lukittujen tiedostojen tunnistus, stabilointi Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo( ) ja Deno API:t. .uid(), lisäämällä uuden epävakaan API:n Deno.Command() komentojen suorittamiseen (yleinen Deno.spawn-, Deno.spawnSync- ja Deno.spawnChild-korvaus).

Lopuksi se kannattaa mainita Kuten Node.js, Deno käyttää V8 JavaScript -moottoria., jota käytetään myös Chromium-pohjaisissa selaimissa. Samaan aikaan Deno ei ole Node.js:n haarukka, vaan uusi projekti, joka on rakennettu tyhjästä. Projektin koodia jaetaan MIT-lisenssillä ja valmiita koontiversioita on Linuxille, Windowsille ja macOS:lle.

Jos olet kiinnostunut tietämään siitä lisää, voit kuulla seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.