¿Para qué se utilizan los módulos anidados?
Los módulos anidados permiten unir funcionalidad de dos o mas módulos. Un ejemplo muy común del uso de módulos anidados es una aplicación que es capaz de saludar en diferentes idiomas.
Veamos el siguiente ejemplo, los siguientes 3 son los módulos que saludan en diferentes idiomas.
// saludar/espanol.js
var saludar = function () {
console.log("Hola!");
};
module.exports = saludar;
// saludar/ruso.js
var saludar = function () {
console.log("привет!");
};
module.exports = saludar;
// saludar/ingles.js
var saludar = function () {
console.log("Hi!");
};
module.exports = saludar;
Estos 3 módulos se encuentran dentro del folder saludar
y dentro de este mismo folder vamos a agregar el modulo que administra estos 3.
// saludar/saludar.js
var espanol = require("./espanol");
var ingles = require("./ingles");
var ruso = require("./ruso");
module.exports = {
espanol: espanol,
ingles: ingles,
ruso: ruso,
};
Ahora desde un nivel superior llamamos este modulo administrador que es saludar
.
// hola_hi_privet.js
var saludar = require("./saludar/saludar.js");
saludar.espanol();
saludar.ingles();
saludar.ruso();
Si ejecutamos este ultimo programa, vamos a obtener lo siguiente.
$ node hola_hi_privet.js
Hola!
Hi!
привет!
Basados en lo que revisamos el capítulo anterior, vamos a imprimir los mensajes utilizando un archivo de configuración json.
{
"espanol": "Hola",
"ingles": "Hi",
"ruso": "привет"
}
Vamos a actualizar el modulo espanol
de manera que mediante require
carguemos la configuración.
// saludar/espanol.js
var configuracion = require("./configuracion.json"); // mandar llamar la configuracion
var saludar = function () {
console.log(configuracion.espanol); // imprimir el valor configuracion.espanol
};
module.exports = saludar;