Servicio rest con nodejs, express 4 y mysql
Servicio rest con nodejs, express 4 y mysql

Hasta ahora no hemos hecho uso de MVC, lo que hemos visto de NodeJS ha sido trabajando con controladores(el archivo routes/index.php) y vistas(alojadas en la carpeta views), nos falta ver como relacionar el modelo de forma correcta a nuestro desarrollo.

El modelo, como debemos saber, es el que se encarga del acceso a bases de datos, debe resolver las peticiones que le hace el controlador, y el controlador simplemente es un puente entre las vistas y los modelos, es así de sencillo.

Nosotros podemos crear una carpeta llamada models en la raíz de la aplicación y crear toda la lógica que necesitemos, aquí es donde entra en juego exports, que lo que hace es lo que su nombre indica, exportar.

Simplemente podemos crear un objeto, y dentro ir añadiendo todas las funciones y propiedades que necesitemos, y haciendo uso de exports en ese modelo, ya podemos llamarlo con require desde donde necesitemos, es así de sencillo, pero para que quede completamente claro, porque es una cosa importante, vamos a crear un sencillo ejemplo en el que exportaremos objetos, arrays y funciones.

Implementar MVC y exports en Nodejs

Lo primero que debemos hacer es crear el proyecto con la ayuda de express, así que escribimos los siguiente comandos en la terminal de node.

Y a continuación, como nos dice la terminal lo siguiente.

Ahora ya podemos poner en marcha la aplicación con nodemon, si no lo conoces, decirte que es el encargado de levantar la aplicación cada vez que realizamos algún cambio, así no lo tenemos que hacer de forma manual, si no lo tienes instalado simplemente escribe en la terminal lo siguiente.

Y ahora si, ya podemos poner la aplicación en marcha.

Si accedemos a http://localhost:3000 debemos ver la bienvenida que nos da express.

El archivo app.js

Lo primero que debemos hacer como siempre es modificar nuestro archivo app.js para que quede de la siguiente forma.

El modelo

Ahora creamos una carpeta llamada models en la raíz de la aplicación, y dentro creamos un archivo llamado data.js, por ejemplo, y añadimos el siguiente código.

Y a continuación modificamos el archivo routes/index.js para que quede de la siguiente forma, así podremos hacer uso del modelo data que acabamos de crear.

Ahora sólo nos queda modificar la vista views/index.jade para que se vea el valor que contiene dataModel.msg.

Y eso es todo, si sigues los pasos de los comentarios del archivo index.js podrás ver como hemos conseguido exportar el modelo data que hemos creado y utilizarlo en el archivo routes/index.js, espero que te sea de ayuda para seguir entendiendo el funcionamiento de NodeJS con Express, un saludo.