Describir el funcionamiento del patrón modulo en nodejs.
El patrón módulo es el patrón básico y más utilizado en Nodejs, éste permite encapsular código relacionado en una sola unidad de código. Cuando creamos un módulo, lo que básicamente estamos haciendo es meter un conjunto de funciones y variables en un archivo, para ser utilizado en cualquier otro archivo.
- Nodejs - Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
Paso 1: Empaquetado de Código
-
Variables a utilizar
Primeramente se identifican todas las variables que son necesarias para que la lógica que vayamos a empaquetar funcione. -
Funciones a utilizar
Después se identifican todas las funciones que son parte de nuestra lógica para empaquetarlas. -
Funciones y Variables públicas y privadas
Por último se establece qué funciones y variables serán expuestas para su uso.
Paso 2: Variables a utilizar.
Para ilustrar mejor los pasos, crearemos un ejemplo.
Tendremos dos archivos el primero module-example.js el cual contendrá las siguientes variables:
var x = 0;
var y = 10;
while( x < y ){
x++;
}
El último sera main.js y contendrá este código por el momento:
var moduleExample = require('./module-example')
Paso 3: Funciones a utilizar.
A continuación agregaremos unas cuantas funciones a module-example.js:
var x = 0;
var y = 10;
while( x < y ){
x++;
}
printX( x );
function classicHelloWolrd(){
console.log('Hola Mundo');
}
function printX( x ){
console.log( x );
}
Paso 4: Funciones y Variables públicas y privadas.
Ahora con ayuda del metodo exporto, hacemos publicas alguna funciones y variables module-example.js:
var x = 0;
var y = 10;
while( x < y ){
x++;
}
printX( x );
function printX( x ){
console.log( x );
}
exports.classicHelloWolrd = function(){
console.log('Hola Mundo')
};
exports.y = y;
Hacemos uso de estas variables y funciones en nuestro script main.js:
var moduleExample = require('./module-example')
moduleExample.classicHelloWolrd();
console.log( moduleExample.y );
process.exit(0);
- Nota
- Si intentas llamar a la función printX o la variable x que no es publica obtendrás un undefined en ambos casos.
Finalmente ejecutamos el archivo main.js
$ node main.js
- Understanding module.exports and exports in Node.js:
- Autor del snippet: Tonatiuh García @Sr_Sol
- Los snippets pertenecen a KamikazeLab