Módulos CommonJS
Parte da seção Fundamentos de Node.js do Journey de Node.js da Coddy. Lição 9 de 24.
Grande parte do código Node que você vai ler, em pacotes npm e tutoriais mais antigos, usa outro sistema de módulos.
O CommonJS exporta com module.exports e importa com require. O Node ainda executa esse código em arquivos que terminam em .cjs, e um import desse tipo de arquivo fornece o objeto module.exports como padrão:
// greet.cjs
function hello(name) {
return 'Hello, ' + name;
}
module.exports = { hello };
// app.js
import greet from './greet.cjs';
console.log(greet.hello('Ada'));exports começa sendo o mesmo objeto que module.exports. exports.hello = hello adiciona algo a ele; exports = { hello } substitui a variável, e o importador recebe um objeto vazio.
Desafio
Fácil- Conclua
countWords(notes)emlegacy/stats.cjs: quantas palavras as notas têm ao todo. - Importe-o em
notes.jscomimport stats from './legacy/stats.cjs'. - Um comando
statsexibe3 notes, 7 words.
Execute node notes.js stats. Depois, add uma nota e execute stats novamente: ainda são 3, pois nada foi salvo.
Experimente você mesmo
// Um módulo mais antigo, escrito no estilo CommonJS.
function countWords(notes) {
// Retorne o total de palavras em todas as notes juntas.
return 0;
}
module.exports = { countWords };
Todas as lições de Fundamentos de Node.js
1Executando JavaScript no Node
Olá, NodeArgumentos de linha de comandoComandos