El módulo es un objeto JavaScript simple que representa el módulo actual. Es local para cada módulo y también es privado. Tiene una propiedad de exportación que es una variable simple de JavaScript, establecida en module.exports. Al final del archivo, Node.js devuelve module.exports a la función requerida.
Acerca de module.exports:
Cuando queremos exportar una sola clase/variable/función de un módulo a otro módulo, usamos module.exports .
Ejemplo: Cree dos archivos calculadora.js y operación.js y exporte la clase Aritmética de calculadora.js a operación.js usando el método module.exports . Aquí, hemos creado una clase Aritmética y exportado toda la clase usando module.exports .
Nombre de archivo: calculadora.js
Javascript
class Arithmetic { constructor(a, b) { this.a = a; this.b = b; } add() { return this.a + this.b; } subtract() { return this.a - this.b; } multiply() { return this.a * this.b; } divide() { if (this.b != 0) { return this.a / this.b; } return "divided by zero !!!!"; } }; module.exports = Arithmetic;
Nombre de archivo: operación.js
Javascript
const Arithmetic = require('./calculator.js'); const op = new Arithmetic(100,40); console.log(`Addition -> ${op.add()}`); console.log(`subtraction -> ${op.subtract()}`); console.log(`Multiplication -> ${op.multiply()}`); console.log(`Division -> ${op.divide()}`);
Ejecute el archivo operation.js con el siguiente comando:
node operation.js
Producción:
Sobre las exportaciones:
Cuando queremos exportar múltiples variables/funciones de un módulo a otro, usamos exportaciones.
Ejemplo: Cree dos archivos calculadora.js y operación.js y exporte múltiples funciones desde el archivo calculadora.js .
Nombre de archivo: calculadora.js
Javascript
exports.add = (a, b) => a + b; exports.subtract = (a, b) => a - b; exports.multiply = (a, b) => a * b; exports.divide = (a, b) => { if (b != 0) { return a / b; } return `Divided by zero !!!`; }
Nombre de archivo: operación.js
Javascript
const Arithmetic = require('./calculator.js'); console.log(`Addition -> ${Arithmetic.add(100,40)}`); console.log(`subtraction -> ${Arithmetic.subtract(100,40)}`); console.log(`Multiplication -> ${Arithmetic.multiply(100,40)}`); console.log(`Division -> ${Arithmetic.divide(100,40)}`);
Ejecute el archivo operation.js con el siguiente comando:
node operation.js
Producción:
Diferencias clave entre module.exports y exportaciones:
S.no |
Módulo.exportaciones |
Exportaciones |
---|---|---|
1 |
Cuando queremos exportar una sola clase/variable/función de un módulo a otro módulo, usamos la forma module.exports . | Cuando queremos exportar múltiples variables/funciones de un módulo a otro, usamos la forma de exportación . |
2. |
Es la referencia del objeto que se devuelve de las llamadas require(). | Las exportaciones no son devueltas por require(). Es solo una referencia a module.exports . |