Comunidad de diseño web y desarrollo en internet online

Buenas prácticas en Node.js: Módulos

Los módulos en node.js son un objeto que extiende su funcionalidad mediante un prototipo. Esto evita tener funcionalidades separadas y regadas de una misma herramienta, como por ejemplo varias funcionalidades de una calculadora que podrían ser sumar o restar, como estamos hablando del mismo objeto calculadora podríamos crear un módulo.

Voy a mostrarles a qué me refiero con el ejemplo que les acabo de describir, primero les voy a mostrar cómo sería si no fuera un módulo:

main.js

Código :

var suma = function(numeroUno,numeroDos){
   var resultado = numeroUno + numeroDos;
   console.log(resultado);
}

var resta = function(numeroUno,numeroDos){
   var resultado = numeroUno - numeroDos;
   console.log(resultado);
}

suma(2,8);
resta(8,2);

El resultado de esto es:

Código :

10
6


Pero ahora lo que queremos hacer es que estas funcionalidades sean parte de un módulo que se llamará calculadora y adicional a esto vamos a crear la funcionalidad de multiplicar:

Noten que vamos a hacer cosas nuevas, lo primero es que vamos a llamar y a inicializar el módulo, esto nos permitirá separar nuestro objeto calculadora de nuestro código principal y nos permitirá reutilizar tanto el módulo como las variables dentro del módulo.

main.js

Código :

var calculadora = require('./calculadora');

var Calculadora = new calculadora(15,20);

Calculadora.suma();
Calculadora.resta();
Calculadora.multiplica();


Lo siguiente es que vamos a crear una funcionalidad para imprimir el resultado, esta es solo un ejemplo de cómo utilizar una funcionalidad dentro de otra en el mismo módulo. Para terminar escribiremos la funcionalidad multiplicar pero el cálculo lo hará otra funcionalidad, esta última es para demostrarles cómo podemos pasar variables inicializadas de una funcionalidad a otra.

calculadora.js

Código :

var Calculadora = function(numeroUno,numeroDos){
   this.numeroUno = numeroUno;
   this.numeroDos = numeroDos;
}

Calculadora.prototype.print = function(resultado){
   console.log(resultado);
}

Calculadora.prototype.suma = function(){
   var resultado = this.numeroUno + this.numeroDos;
   this.print(resultado);
}

Calculadora.prototype.resta = function(){
   var resultado = this.numeroDos - this.numeroUno ;
   this.print(resultado);
}

Calculadora.prototype.calculoMultiplicar = function(self){
   var resultado = self.numeroUno * self.numeroDos;
   self.print(resultado);
}

Calculadora.prototype.multiplica = function(){
   var self = this;
   this.calculoMultiplicar(self);
}

module.exports = Calculadora;


El resultado de esto es:

Código :

35
5
300

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate