Il tuo primo modulo
Fa parte della sezione Fondamenti di Node.js del percorso Node.js di Coddy. Lezione 7 di 33.
notes.js continua a crescere e il codice che formatta una nota servirà in più punti.
Un modulo è un file. export davanti a una funzione consente ad altri file di usarla, mentre import { name } from './file.js' la importa:
// math.js
export function add(a, b) {
return a + b;
}
// app.js
import { add } from './math.js';
console.log(add(2, 3));Senza export, la funzione rimane privata in math.js e l'importazione non riesce. Il percorso inizia con ./, che indica la stessa cartella, e termina con .js: Node non indovina l'estensione.
Sfida
Facilenotes.js sta diventando lungo. Sposta il codice che trasforma una nota in una riga numerata in un file dedicato, format.js, così anche gli altri file potranno usarlo.
- In
format.js, scrivi una funzioneformatNote(n, text)ed esportala. Restituisce il numero, un punto, uno spazio e poi il testo.formatNote(1, 'Buy milk')restituisce'1. Buy milk'eformatNote(3, 'Call Ada')restituisce'3. Call Ada'. Restituisce la riga; non la stampa. - In
notes.js, importaformatNoteda./format.jsall'inizio del file. - Nel ramo
add, sostituisci la riga che stampaAdding: .... Ora stampaAdding:seguito daformatNote(1, text), che è la nota numerata 1. Per ora ogni nota ha il numero 1; il numero effettivo arriverà nella prossima lezione.
node notes.js add Buy milk stampa:
Adding: 1. Buy milkProva: digita add Buy milk nella casella dopo $ node notes.js e premi Invio. Vedrai Adding: 1. Buy milk. Poi scopri cosa dice Node quando il percorso è errato: elimina .js dalla riga di importazione in notes.js ed esegui di nuovo il programma. Il programma si interrompe con un errore che dice che non riesce a trovare il modulo format. Rimetti .js prima di premere «Verifica».
Provalo tu
// formatNote(1, 'Buy milk') dovrebbe restituire '1. Buy milk'.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti di Node.js
Esercitati da solo: Playground Express