Módulos anidados en Node.js: Organiza y reutiliza tu código

Módulos anidados en Node.js: Organiza y reutiliza tu código

¿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;