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.


Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

Ole ensimmäinen kommentti

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.