Módulos anidados Módulos anidados

🥇 Módulos anidados

🍿 ¿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;
JSON Patrones en módulos
comments powered by Disqus