Módulos CommonJS
Parte de la sección Conceptos básicos de Node.js del Journey de Node.js de Coddy. Lección 9 de 24.
Gran parte del código de Node que leerás en paquetes de npm y tutoriales antiguos utiliza otro sistema de módulos.
CommonJS exporta con module.exports e importa con require. Node todavía lo ejecuta en archivos que terminan en .cjs, y una instrucción import de ese tipo de archivo te proporciona su objeto module.exports como valor predeterminado:
// greet.cjs
function hello(name) {
return 'Hello, ' + name;
}
module.exports = { hello };
// app.js
import greet from './greet.cjs';
console.log(greet.hello('Ada'));exports empieza siendo el mismo objeto que module.exports. exports.hello = hello lo amplía; exports = { hello } reemplaza la variable, y el módulo que importa recibe un objeto vacío.
Desafío
Fácil- Completa
countWords(notes)enlegacy/stats.cjs: cuántas palabras contienen las notas en total. - Impórtala en
notes.jsconimport stats from './legacy/stats.cjs'. - Un comando
statsimprime3 notes, 7 words.
Ejecuta node notes.js stats. Después, add una nota y ejecuta stats otra vez: siguen siendo 3, ya que todavía no se guarda nada.
Pruébalo tú mismo
// Un módulo antiguo, escrito al estilo CommonJS.
function countWords(notes) {
// Devuelve el número total de palabras que contienen todas las notas.
return 0;
}
module.exports = { countWords };
Todas las lecciones de Conceptos básicos de Node.js
1Ejecutar JavaScript en Node
Hola, NodeArgumentos de la línea de comandosComandos