Que tal amigos del blog, les dejo el tercer video del curso de nodejs, en el cual vamos a ver como crear modulos con el fin de evitar tener todo el codigo del servidor en un solo archivo, de esta forma tendremos nuestro codigo mas limpio y ordenado facilitando la lectura del mismo.
Les dejo la documentacion del video.-
Los módulos nos van a permitir tener una mejor organización de nuestro código, ya que podremos separar partes del servidor que nos sirvan para realizar una tarea en concreto en diferentes documentos y de esta forma evitar tener todo el código del server en un solo documento.
Crear un modulo:
Para crear un módulo debemos crear un nuevo documento y darle un nombre que sea referente a la funcionalidad del módulo a crear (es una buena práctica) y guardarlo con la extensión .js, lo podemos guardar en el root del proyecto (o crear un directorio para nuestros modulos).
Dentro del documento podremos declarar variables y funciones las cuales cuando el módulo sea requerido por nosotros se convertirán en propiedades y métodos del objeto creado al requerirlo.-
/* Módulo de ejemploejemplo.js */
// Declaramos una propiedadvar nombre = "Paulo";
// Declaramos un métodofunction saludar(){console.log("Hola");}
Ahora solo faltaria exportar la propiedad y el método declarado en el módulo ejemplo.js para poder acceder a estos desde el documento que requiera el módulo.-
module.exports.nombre = nombre;
module.exports.saludar = saludar;
El código anterior se declara al final del módulo.
Incluir módulos propios:
Para incluir un módulo propio lo hacemos de igual forma en cómo incluimos los módulos que vienen por defecto en nodejs, con la diferencia de indicar el path del módulo partiendo de ./ que indica el directorio principal del proyecto.-
// Incluimos el módulo ejemplo.jsvar ejemplo = require("./ejemplo.js");
// Mostramos el contenido de la propiedad nombreconsole.log( ejemplo.nombre );
// Llamamos al método saludarejemplo.saludar();
Ejemplo final del video.-
//server.jsvar http = require("http"),
urls = require("url"),
router = require("./router.js"),
rutas = require("./rutas.js"),
port = 3000;
http.createServer(function (req, res){
var url = urls.parse(req.url);
var pathname = url.pathname;
router.router(rutas.rutas, pathname, res);
}).listen(port);
console.log("Servidor corriendo en el puerto: "+port);
// router.jsfunction router(rutas, pathname, res)
{
// Verificamos que la ruta a la que se va acceder este declarada en el objeto rutas
if(typeof rutas[pathname] === "function"){
// Si esta declarada ejecutamos la función asignada a la ruta return
rutas[pathname](res);
} else {
res.writeHead(404, {"Content-type" : "text/html"});
res.write("Error 404 Pagina no encontrada");
res.end();
}
}
module.exports.router = router;
// rutas.jsvar rutas = {}; // Creamos el objeto rutas
// Agregamos las rutas al objeto
rutas["/"] = inicio;
rutas["/admin"] = admin;
function inicio(res)
{
res.writeHead(200, {"Content-type" : "text/html"});
res.write("Pagina de inicio");
res.end();
}
function admin(res)
{
res.writeHead(200,{"Content-type" : "text/html"});
res.write("Pagina de administracion");
res.end();
}
module.exports.rutas = rutas;
No hay comentarios:
Publicar un comentario
Comentar es agradecer!, tu comentario me ayuda a seguir mejorando el blog, gracias.