Exportación con Module.exports
Desliza para mostrar el menú
Cuando deseas compartir funciones, objetos o valores de un archivo para que otro archivo pueda utilizarlos, utilizas module.exports en Node.js. Esta es la base de cómo se comunican los módulos. Defines tus funciones u objetos en un archivo y luego los asignas a module.exports. Cualquier archivo que use require para cargar este módulo recibirá lo que hayas asignado a module.exports.
mathUtils.js
Comienza creando una función u objeto que desees exportar. En el ejemplo anterior, la función add y el objeto calculator se definen en mathUtils.js. Al asignar un objeto que contiene tanto add como calculator a module.exports, haces que ambos estén disponibles para otros archivos.
Cuando otro archivo, como app.js, utiliza require('./mathUtils'), Node.js carga el módulo y devuelve el valor de module.exports. Esto significa que mathUtils en app.js es el objeto que exportaste, por lo que puedes llamar a mathUtils.add(5, 3) o mathUtils.calculator.subtract(10, 4).
Puedes exportar un solo valor, como una función, o un objeto que contenga varios valores. Si asignas un nuevo valor a module.exports, eso es lo que será devuelto por require. Recuerda siempre: solo lo que adjuntes a module.exports será accesible fuera del módulo.
En Node.js, exports es simplemente una referencia abreviada a module.exports.
Puedes usar exports.greet = ... para agregar propiedades, pero si reasignas module.exports directamente, el acceso abreviado deja de aplicarse.
// Valid: adding a property
exports.greet = () => "Hello!";
// Invalid: reassigning exports breaks the link
exports = () => "Hello!"; // Won't work
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla