¿Cuáles son los patrones de uso de módulos en NodeJS?
Es posible asignar a module.exports
una función anónima.
// modulos/aleatorio.js
module.exports = function () {
console.log(Math.round(Math.random() * 100000));
};
De forma que podemos generar un numero aleatorio directamente.
// imprimir_aleatorios.js
var aleatorio = require("./modulos/aleatorio");
aleatorio();
Ahora, que pasa si queremos generar aleatorios pero no de números sino nombres de personas, podemos cambiar nuestro módulo para que tenga 2 funciones asociadas al módulo.
// modulos/aleatorio.js
module.exports.numero = function () {
console.log(Math.round(Math.random() * 100000));
};
var nombres = [
"Raul",
"Pedro",
"Juan",
"Alberto",
"Antonio",
"Erika",
"Alejandra",
"Isabel",
];
module.exports.nombre = function () {
indice_aleatorio = Math.floor(Math.random() * nombres.length);
console.log(nombres[indice_aleatorio]);
};
// imprimir_aleatorios.js
var numero_aleatorio = require("./modulos/aleatorio").numero;
numero_aleatorio();
var nombre_aleatorio = require("./modulos/aleatorio").nombre;
nombre_aleatorio();
Lo anterior definitivamente no es ciencia de cohetes pero bien vale la pena saber que podemos tener atajos al momento de acceder a elementos de un módulo.