Module.exports API para exponer datos a otros archivos
El Node es compatible con el sistema de módulos incorporado. Node.js puede importar funciones expuestas por otros archivos de Node.js. Para importar algo, debe usar la funcionalidad de importación expuesta por el archivo library.js que está presente en la carpeta de archivos actual.
const library = require('./library') // Path
La funcionalidad en el archivo debe exponerse antes de que pueda importarse a cualquier otro archivo. Un objeto definido en el archivo por defecto es privado y no está expuesto al mundo exterior.
El sistema de módulos ofrece la API del archivo module.exports para implementar en el código. module es una variable que representa el módulo actual y export es un objeto que se expondrá como un módulo. Por lo tanto, las exportaciones y las exportaciones de módulos estarán expuestas como un módulo.
module.exports es básicamente un objeto que devuelve el resultado de una llamada requerida .
Necesita la nueva propiedad de exportación para importar el objeto o la función en cualquier otra parte de su aplicación. Puedes hacerlo de 2 formas:
La primera forma es asignar un objeto a module.exports donde el sistema de módulos proporciona el objeto de fábrica.
Ejemplos:
const person = { firstName: 'John', lastName: 'Smith' } module.exports = Person // in the file where you want to export const person= require(‘./person)
La segunda forma es agregando el objeto exportado como propiedad de las exportaciones. Puede utilizar las exportaciones para exportar múltiples objetos, funciones o datos:
const Person = { firstName: 'John', lastName: 'Smith' } exports.person = person
o directamente
exports.person = { firstName: 'John', lastName: 'Smith' }
Lo usará haciendo referencia a una propiedad de su importación en el otro archivo:
Const items = require('items') items.person
O
const person= require('./items').person
¿Cuál es la diferencia entre module.exports y exportaciones?
El primero expone el objeto al que apunta, mientras que el segundo expone las propiedades del objeto al que apunta.