Menu
CoddyTech

Moduły CommonJS

Część sekcji Podstawy Node.js ścieżki Node.js w Coddy. Lekcja 9 z 24.

Wiele kodu Node, który napotkasz w pakietach npm i starszych samouczkach, korzysta z innego systemu modułów.

CommonJS eksportuje za pomocą module.exports i importuje za pomocą require. Node nadal uruchamia go w plikach z rozszerzeniem .cjs, a import takiego pliku udostępnia jego obiekt module.exports jako wartość domyślną:

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

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

exports początkowo wskazuje na ten sam obiekt co module.exports. exports.hello = hello dodaje do niego właściwość; exports = { hello } zastępuje zmienną, a importujący otrzymuje pusty obiekt.

challenge icon

Wyzwanie

Łatwy
  • Dokończ funkcję countWords(notes) w pliku legacy/stats.cjs: oblicz, ile słów zawierają łącznie notatki.
  • Zaimportuj ją do pliku notes.js za pomocą import stats from './legacy/stats.cjs'.
  • Polecenie stats wyświetla 3 notes, 7 words.

Uruchom node notes.js stats. Następnie dodaj notatkę za pomocą polecenia add i ponownie uruchom stats: nadal 3, ponieważ nic nie jest jeszcze zapisywane.

Spróbuj swoich sił

// Starszy moduł, napisany w stylu CommonJS.
function countWords(notes) {
    // Zwróć łączną liczbę słów we wszystkich notatkach.
    return 0;
}

module.exports = { countWords };

Wszystkie lekcje w sekcji Podstawy Node.js