Categories
async linguaggio javascript Node.js npm package,json

Node.js (2)

Nel precedente post su Node.js abbiamo:

  • installato Node.js e npm usando nvm (Node Version Manager)
  • provato un esempio d’uso di Node.js

Ora proveremo un esempio d’uso di npm (Node Package Manager) per aggiungere una dipendenza al progetto.

Articolo precedente

Si ricorda che per iniziare il progetto, si deve aprire il terminale, creare una cartella di lavoro progetto2 ed eseguire la preparazione per il progetto.

mkdir progetto2;
cd progetto2
npm init

(rispondere alle domande interattive per configurare il progetto, basta premere invio un po' di volte)

L’ultimo comando prepara la struttura del progetto, creando un file package.json.

Se vogliamo creare un progetto, riutilizzando un codice sorgente di un altro sviluppatore, si deve installare (localmente all’interno del progetto) un programma (o meglio un modulo, un pacchetto) con npm (contemporaneamente verranno installate automaticamente anche le sue dipendenze)

Pacchetti deprecati

Purtroppo i vecchi esempi devono essere sostituiti a causa dell’abbandono del codice sorgente, ad esempio, dal 2023 al 2024, il modulo upper-case non dovrebbe essere più usato. Ecco l’avviso:

Lo stesso per ascii-art. Ecco l’avviso:

Figlet

Nel nuovo progetto si può installare come dipendenza figlet

npm install figlet

Aprire un file hello2.js

nano hello2.js # il file di testo che contiene codice javascript

Questo è il codice sorgente di hello2.js, dove è richiesto l’uso delle callback1

// è un modulo di tipo CommonJS
let figlet = require("figlet");

// la funzione ha come secondo argomento una callback
figlet("hello :)", function (err, data) {
  if (err) {
    console.log("Something went wrong...");
    console.dir(err);
    return;
  }
  console.log(data);
});

Questo è il comando per eseguire lo script hello2.js

$ nvm use node
$ node ./hello2.js

Per osservare il contenuto della cartella progetto2

$ ls -1a # comando: elle esse con opzione uno a
# > .
# > ..
# > hello2.js 
# > node_modules  # cartella locale eseguibili
# > package.json  # progetto, dipendenze, ecc.
# > package-lock.json

La cartella node_modules contiene, il modulo appena installato figlet, come dipendenza:

Il file di testo package.json è generato automaticamente da npm ed è organizzato al suo interno secondo la sintassi JSON

{
  "dependencies": {
    "upper-case": "^1.7.0"
  }
}

Anche se ora non ce n’è bisogno, è utile sapere che su altri progetti si può usare il file package.json per installare le dipendenze di un progetto, controllando automaticamente la loro versione.

$ cd progetto
$ npm install

Articolo collegato:

  1. https://www.cancellino.org/2023/02/linguaggio-javascript-3/ []

Leave a Reply