Estructurando una aplicaci贸n Estructurando una aplicaci贸n

馃 Estructurando una aplicaci贸n

馃嵖 驴C贸mo estructurar una aplicaci贸n en express?

Podemos echar mano de herramientas como express para organizar nuestras aplicaciones. Una forma r谩pida de estructurar dichas aplicaciones es utilizando la aplicaci贸n para linea de comando de express.

馃嵖 驴C贸mo instalar express-generator?

  1. Instalamos de manera global express-generator.
$ npm install express-generator -g

Probablemente sea necesario utilizar sudo si es que se requiren permisos adicionales para instalar las librer铆as.

Al mostrar la ayuda podemos darnos cuenta de que hay una seria de opciones.

$ express -h
  1. Creamos nuestra aplicaci贸n.
$ express mi_app
$ cd mi_app
$ npm install

Dentro de nuestra aplicaci贸n generada podemos ver que tenemos un boilerplate listo para empezar a trabajar con el.

  1. Abrimos el archivo app.js y veremos que se encuentra express inicializado con las librer铆as de inicio requeridas como express, path, cookie-parser y body parser, as铆 como algunas otras adicionales.

Una caracter铆stica de este app.js es que las rutas son organizadas en bloques dependiendo del modelo con el cual se este trabajando. Por ejemplo para los usuarios, primero se importan las rutas y despu茅s se alimentan a un prefijo /users.

var users = require('./routes/users');
...
app.use('/users', users);

Esto es particularmente 煤til cuando se requieren trabajar con muchas rutas.

  1. Al abrir el archivo package.json veremos que las dependencias del proyecto han sido agregadas tambi茅n.
{
  "name": "miapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.15.2",
    "cookie-parser": "~1.4.3",
    "debug": "~2.2.0",
    "express": "~4.14.0",
    "jade": "~1.11.0",
    "morgan": "~1.7.0",
    "serve-favicon": "~2.3.0"
  }
}

Tambi茅n podemos darnos cuenta de que esta provisto de un comando run, as铆 que podemos inicializar nuestro servidor.

$ npm run start

Y acceder al url localhost:3000.

Rest API's Bases de datos
comments powered by Disqus