Come usare il REPL di Node.js
Il comando node
è quello che usiamo per eseguire i nostri script Node.js:
Se eseguiamo il comando node
senza alcun script da eseguire o senza argomenti, avviamo una sessione REPL:
Nota: REPL
sta per Read Evaluate Print Loop ed è un ambiente di linguaggio di programmazione (essenzialmente una finestra della console) che prende una singola espressione come input dell’utente e restituisce il risultato alla console dopo l’esecuzione. La sessione REPL fornisce un modo comodo per testare rapidamente il codice JavaScript semplice.
Se provi ora nel tuo terminale, questo è ciò che succede:
Il comando rimane in modalità idle e aspetta che inseriamo qualcosa.
Suggerimento: se non sei sicuro su come aprire il tuo terminale, cerca “Come aprire il terminale nel tuo-sistema-operativo”.
Il REPL sta aspettando che inseriamo del codice JavaScript, per essere più precisi.
Inizia in modo semplice e inserisci:
Il primo valore, test
, è l’output che abbiamo detto alla console di stampare, quindi otteniamo undefined
, che è il valore restituito dall’esecuzione di console.log()
. Node ha letto questa riga di codice, l’ha valutata, ha stampato il risultato e poi è tornato in attesa di ulteriori righe di codice. Node loopa attraverso questi tre passaggi per ogni pezzo di codice che eseguiamo nel REPL fino a quando non usciamo dalla sessione. Da qui il nome REPL.
Node stampa automaticamente il risultato di qualsiasi riga di codice JavaScript senza la necessità di istruirlo a farlo. Ad esempio, digita la seguente riga e premi invio:
Nota la differenza nei risultati delle due righe sopra. Il REPL di Node ha stampato undefined
dopo aver eseguito console.log()
, mentre, d’altra parte, ha stampato direttamente il risultato di 5 === '5'
. Devi tenere presente che il primo è solo uno statement in JavaScript, mentre il secondo è un’espressione.
In alcuni casi, il codice che vuoi testare potrebbe richiedere più righe. Ad esempio, diciamo che vuoi definire una funzione che genera un numero casuale, nella sessione REPL digita la seguente riga e premi invio:
Il REPL di Node è abbastanza intelligente da capire che non hai finito di scrivere il tuo codice e passerà alla modalità multi-linea per permetterti di inserire più codice. Ora completa la definizione della tua funzione e premi invio:
La variabile speciale _
Se dopo del codice digiti _
, verrà stampato il risultato dell’ultima operazione.
Il tasto freccia su
Se premi il tasto freccia su, avrai accesso alla cronologia delle righe di codice precedenti eseguite nella sessione attuale e anche in sessioni REPL precedenti.
Comandi con il punto .
Il REPL ha alcuni comandi speciali, tutti che iniziano con un punto .
. Sono:
.help
: mostra l’aiuto dei comandi con il punto..editor
: abilita la modalità editor, per scrivere codice JavaScript su più righe con facilità. Una volta in questa modalità, inserisci ctrl-D per eseguire il codice che hai scritto..break
: durante l’inserimento di un’espressione su più righe, inserendo il comando.break
si interromperà ulteriore input. Lo stesso risultato di premere ctrl-C..clear
: resetta il contesto REPL a un oggetto vuoto e cancella qualsiasi espressione su più righe attualmente in inserimento..load
: carica un file JavaScript, relativo alla directory di lavoro corrente..save
: salva tutto ciò che hai inserito nella sessione REPL su un file (specificare il nome del file)..exit
: esce dal REPL (lo stesso risultato di premere ctrl-C due volte).
Il REPL capisce quando stai digitando uno statement su più righe senza la necessità di invocare .editor
.
Ad esempio, se inizi a digitare un’iterazione in questo modo:
e premi invio
, il REPL andrà su una nuova riga che inizia con 3 punti, indicando che ora puoi continuare a lavorare su quel blocco.
Se digiti .break
alla fine di una riga, la modalità multilinea si interromperà e lo statement non verrà eseguito.
Esecuzione del REPL da un file JavaScript
Possiamo importare il REPL in un file JavaScript utilizzando repl
.
Utilizzando la variabile repl
, possiamo eseguire varie operazioni. Per avviare il prompt dei comandi REPL, digita la seguente riga:
Esegui il file nella riga di comando.
Puoi passare una stringa che viene mostrata quando il REPL viene avviato. Il valore predefinito è ’> ’ (con uno spazio alla fine), ma possiamo definire un prompt personalizzato.
Puoi visualizzare un messaggio durante l’uscita dal REPL.