Eseguire script Node.js dalla linea di comando
Il modo usuale per eseguire un programma Node.js è utilizzare il comando globalmente disponibile node
(una volta installato Node.js) e passare il nome del file che si desidera eseguire.
Se il tuo file principale dell’applicazione Node.js è app.js
, puoi chiamarlo digitando:
node app.js
Qui stai dicendo esplicitamente alla shell di eseguire il tuo script con node
. Puoi anche incorporare queste informazioni nel tuo file JavaScript con una linea “shebang”. La “shebang” è la prima riga nel file e dice al sistema operativo quale interprete utilizzare per eseguire lo script. Di seguito c’è la prima riga di JavaScript:
#!/usr/bin/node
Qui stiamo fornendo esplicitamente il percorso assoluto dell’interprete. Non tutti i sistemi operativi hanno node
nella cartella bin, ma tutti dovrebbero avere env
. Puoi dire al sistema operativo di eseguire env
con node come parametro:
#!/usr/bin/env node
// il tuo codice JavaScript
Per utilizzare uno shebang, il tuo file dovrebbe avere il permesso di esecuzione. Puoi dare a app.js
il permesso di esecuzione eseguendo:
chmod u+x app.js
Mentre esegui il comando, assicurati di essere nella stessa directory che contiene il file app.js
.
Passare una stringa come argomento a node
Per eseguire una stringa come argomento, puoi utilizzare -e
, --eval "script"
. Valuta l’argomento seguente come JavaScript. I moduli predefiniti nella REPL possono anche essere utilizzati nello script.
Su Windows, utilizzando cmd.exe, un singolo apice non funzionerà correttamente perché riconosce solo il doppio "
come citazione. In Powershell o Git bash, sia '
che "
sono utilizzabili.
node -e "console.log(123)"
Riavviare l’applicazione automaticamente
A partire da Node.js V16, c’è un’opzione integrata per riavviare automaticamente l’applicazione quando un file cambia. Questo è utile per scopi di sviluppo. Per utilizzare questa funzionalità , è necessario passare il flag --watch
a Node.js.
node --watch app.js
Quindi, quando cambi il file, l’applicazione si riavvierà automaticamente. Leggi la documentazione del flag --watch
.