Creación de proyectos con Express: Herramienta de la línea de comandos

Creación de proyectos con Express: Herramienta de la línea de comandos

¿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 requieren 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.

  2. 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.

  3. 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.