Come abbiamo visto nell’articolo precedenze, fin dal nome Ryan Dahl, ha voluto sottolineare la parentela tra Node.js e Deno. Entrambi sono basati sul motore JavaScript V8 di Google, e forniscono interfacce da riga di comando per l’esecuzione di script.
Le differenze però sono diverse.
La prima è che Deno utilizza i moduli ES rispetto a CommonJS. In aggiunta, le dipendenze vengono referenziate tramite URL o percorsi ai file. Questo ha permesso di superare uno degli inconvenienti maggiori per gli sviluppatori Node.js: le dimensioni della cartella node_module.
Facciamo un esempio pratico: vogliamo importare una libreria, che espone una funzione, la quale restituisce il giorno dell’anno corrisponde ad una data. In Deno è sufficiente importare la libreria direttamente da URL, in modo del tutto simile a come un browser richiama gli script JavaScript.
Creiamo il file day.ts
import { dayOfYear } from "https://deno.land/std/datetime/mod.ts"; const n = dayOfYear(new Date()); console.log(n);
Ed eseguiamo
deno run day.ts
Il motore si occuperà di verifica se la libreria è presente nel sistema, e in caso effettuerà il download.