Declarar múltiples module.exports en Node.js
Lo que intento lograr es crear un módulo que contenga múltiples funciones.
módulo.js:
module.exports = function(firstParam) { console.log("You did it"); },
module.exports = function(secondParam) { console.log("Yes you did it"); },
// This may contain more functions
main.js:
var foo = require('module.js')(firstParam);
var bar = require('module.js')(secondParam);
El problema que tengo es que es firstParam
un tipo de objeto y secondParam
es una cadena de URL, pero cuando lo tengo siempre se queja de que el tipo es incorrecto.
¿Cómo puedo declarar múltiples module.exports en este caso?
Aceptado
Puedes hacer algo como:
module.exports = {
method: function() {},
otherMethod: function() {},
};
O solo:
exports.method = function() {};
exports.otherMethod = function() {};
Luego en el script de llamada:
const myModule = require('./myModule.js');
const method = myModule.method;
const otherMethod = myModule.otherMethod;
// OR:
const {method, otherMethod} = require('./myModule.js');
Para exportar múltiples funciones, simplemente puede enumerarlas así:
module.exports = {
function1,
function2,
function3
}
Y luego para acceder a ellos en otro archivo:
var myFunctions = require("./lib/file.js")
Y luego puedes llamar a cada función llamando a:
myFunctions.function1
myFunctions.function2
myFunctions.function3