Skip to content

Eseguire script Node.js dalla riga di comando

Il modo usuale per eseguire un programma Node.js è quello di eseguire il comando node disponibile globalmente (una volta installato Node.js) e passare il nome del file che si desidera eseguire.

Se il file principale della tua applicazione Node.js è app.js, puoi chiamarlo digitando:

bash
node app.js

Qui sopra, si sta esplicitamente dicendo allo shell di eseguire lo script con node. È anche possibile incorporare queste informazioni nel file JavaScript con una riga "shebang". Lo "shebang" è la prima riga del file e indica al sistema operativo quale interprete utilizzare per l'esecuzione dello script. Di seguito è riportata la prima riga di JavaScript:

javascript
#!/usr/bin/node

Qui sopra, stiamo dando esplicitamente il percorso assoluto dell'interprete. Non tutti i sistemi operativi hanno node nella cartella bin, ma tutti dovrebbero avere env. È possibile indicare al sistema operativo di eseguire env con node come parametro:

javascript
#!/usr/bin/env node
// il tuo codice javascript

Per utilizzare uno shebang, il tuo file deve avere il permesso di esecuzione.

È possibile assegnare ad app.js il permesso di esecuzione eseguendo:

bash
chmod u+x app.js

Durante l'esecuzione del comando, assicurarsi di trovarsi nella stessa directory che contiene il file app.js.

Passare stringhe come argomento a node invece del percorso del file

Per eseguire una stringa come argomento è possibile utilizzare -e, --eval "script". Valuta l'argomento seguente come JavaScript. I moduli predefiniti nel REPL possono essere utilizzati anche nello script. Su Windows, usando cmd.exe una singola virgoletta non funzionerà correttamente perché riconosce solo le doppie virgolette " per la citazione. In Powershell o Git bash, sia " che ' sono utilizzabili.

bash
node -e "console.log(123)"

Riavviare automaticamente l'applicazione

A partire da nodejs V 16, esiste un'opzione integrata per riavviare automaticamente l'applicazione quando un file cambia. Ciò è utile per scopi di sviluppo. Per utilizzare questa funzione, è necessario passare il flag watch a nodejs.

bash
node --watch app.js

Quindi, quando si modifica il file, l'applicazione si riavvierà automaticamente. Leggi la documentazione del flag --watch.