Installare Node.js e configurare l'ambiente di sviluppo
Per sviluppare un backend con Node.js, Express e MongoDB è necessario preparare correttamente l'ambiente di sviluppo. Node.js permette di eseguire JavaScript sul server, mentre npm consente di installare le librerie necessarie e gestire le dipendenze del progetto.
In questa guida vedremo come verificare l'installazione di Node.js, controllare la versione di npm e creare il primo progetto backend. Configureremo inoltre la struttura iniziale del progetto e installeremo Express e gli strumenti necessari per utilizzare TypeScript.
L'obiettivo è arrivare a un ambiente di sviluppo funzionante, pronto per ospitare un'API REST. Ogni comando verrà spiegato, così da comprendere non soltanto come configurare il progetto, ma anche il ruolo dei file e delle dipendenze che verranno creati.
Verificare l'installazione di Node.js e npm
Prima di iniziare, controlliamo che Node.js e npm siano disponibili nel terminale. Apriamo una shell ed eseguiamo:
node --version
npm --versionIl comando node --version restituisce la versione di Node.js installata, mentre npm --version mostra la versione del gestore dei pacchetti npm.
Se entrambi i comandi restituiscono una versione numerica, l'ambiente è pronto per proseguire. Se il terminale segnala che un comando non esiste, bisogna installare Node.js o correggere la configurazione del PATH.
Per questo progetto utilizzeremo una versione LTS di Node.js quando disponibile e compatibile con le dipendenze scelte. Una versione LTS è generalmente preferibile per lo sviluppo di applicazioni backend destinate a un utilizzo stabile.
Creare un progetto Node.js
Creiamo una directory dedicata al backend e spostiamoci al suo interno:
mkdir -p ~/dev/node-study
cd ~/dev/node-studyIl comando mkdir crea la directory del progetto. L'opzione -p permette di creare anche le directory intermedie mancanti, mentre cd cambia la directory di lavoro del terminale.
Possiamo verificare il percorso corrente con:
pwdMantenere ogni progetto in una directory dedicata aiuta a separare il codice, le dipendenze e la configurazione dagli altri lavori presenti sul sistema.
Inizializzare npm e creare package.json
Per inizializzare il progetto eseguiamo:
npm init -yQuesto comando genera il file package.json, che rappresenta il manifesto del progetto Node.js. Contiene informazioni come il nome del progetto, la versione, le dipendenze e gli script utilizzabili per avviare operazioni ricorrenti.
L'opzione -y accetta automaticamente i valori predefiniti, evitando le domande interattive di npm.
Tra poco useremo package.json per definire i comandi di sviluppo e compilazione del backend. È quindi un file centrale nella configurazione del progetto, non un semplice documento descrittivo.
Installare Express per creare un backend REST
Express è un framework web per Node.js che semplifica la creazione di server HTTP e API REST. Permette di definire endpoint, gestire le richieste e organizzare il codice tramite middleware.
Installiamolo con:
npm install expressnpm scarica Express e le sue dipendenze, aggiorna package.json e crea o aggiorna package-lock.json, che registra le versioni risolte dei pacchetti.
Le librerie installate vengono collocate nella directory node_modules. Questa directory non viene normalmente inclusa nel repository Git, perché può essere ricreata installando le dipendenze dichiarate nel progetto.
Express è una dipendenza necessaria anche quando il backend viene eseguito in produzione, perciò viene registrato tra le dipendenze ordinarie.
Configurare TypeScript per Node.js
Utilizzeremo TypeScript per definire i tipi dei dati e individuare numerosi errori durante lo sviluppo. Per installare il compilatore e gli strumenti necessari eseguiamo:
npm install -D typescript @types/node @types/express tsxL'opzione -D, equivalente a --save-dev, registra i pacchetti come dipendenze di sviluppo.
- typescript fornisce il compilatore tsc.
- @types/node contiene le definizioni TypeScript delle API di Node.js.
- @types/express contiene le definizioni di tipo per Express.
- tsx permette di eseguire file TypeScript durante lo sviluppo senza dover avviare manualmente una compilazione completa a ogni modifica.
È importante distinguere l'esecuzione dal controllo dei tipi. tsx trasforma ed esegue il codice, ma non sostituisce il controllo statico effettuato da tsc. Nel corso del tutorial configureremo entrambi gli strumenti.
Verificare le dipendenze installate
Per controllare i pacchetti installati direttamente nel progetto eseguiamo:
npm ls --depth=0Il comando mostra le dipendenze principali senza elencare ricorsivamente tutti i pacchetti da cui dipendono.
Se l'installazione è riuscita, dovremmo trovare Express tra le dipendenze e TypeScript, le definizioni di tipo e tsx tra quelle di sviluppo.
A questo punto il progetto Node.js è inizializzato e dispone degli strumenti di base per creare il backend. Non abbiamo ancora avviato il server: nella prossima lezione configureremo TypeScript e il sistema dei moduli, prima di scrivere il primo endpoint HTTP.
Conclusione
Abbiamo preparato l'ambiente necessario per sviluppare un backend con Node.js, Express e TypeScript. Abbiamo verificato le versioni di Node.js e npm, creato il progetto, inizializzato package.json e installato le dipendenze principali.
Questa configurazione sarà la base delle prossime lezioni. Nel prossimo articolo vedremo come configurare TypeScript con Node.js, comprendere il ruolo di tsconfig.json e distinguere gli strumenti utilizzati per eseguire il codice da quelli utilizzati per controllarlo.