Menu
CoddyTech

Moduli CommonJS

Fa parte della sezione Fondamenti di Node.js del percorso Node.js di Coddy. Lezione 9 di 24.

Gran parte del codice Node che leggerai nei pacchetti npm e nei tutorial meno recenti usa un altro sistema di moduli.

CommonJS esporta con module.exports e importa con require. Node lo esegue ancora nei file che terminano con .cjs, e un import di un file di questo tipo ti fornisce il suo oggetto module.exports come valore predefinito:

// greet.cjs
function hello(name) {
    return 'Hello, ' + name;
}
module.exports = { hello };

// app.js
import greet from './greet.cjs';
console.log(greet.hello('Ada'));

Inizialmente, exports è lo stesso oggetto di module.exports. exports.hello = hello vi aggiunge un elemento; exports = { hello } sostituisce la variabile e chi importa ottiene un oggetto vuoto.

challenge icon

Sfida

Facile
  • Completa countWords(notes) in legacy/stats.cjs: quante parole contengono in tutto le note.
  • Importala in notes.js con import stats from './legacy/stats.cjs'.
  • Un comando stats stampa 3 notes, 7 words.

Esegui node notes.js stats. Poi aggiungi una nota con add ed esegui di nuovo stats: il risultato è ancora 3, perché per ora non viene salvato nulla.

Provalo tu

// Un modulo più vecchio, scritto secondo lo stile CommonJS.
function countWords(notes) {
    // Restituisci il numero totale di parole contenute in tutte le note.
    return 0;
}

module.exports = { countWords };

Tutte le lezioni di Fondamenti di Node.js