@zerointermittency/express v2.0.2
Bienvenido
Este modulo tiene como objetivo tener todas las buenas practicas y módulos que sean necesarios para levantar un proyecto basado en express que sea robusto y seguro.
Instalación
yarn add @zerointermittency/express
# npm i --save @zerointermittency/express
Api
El modulo utiliza express, para poder utilizar sus funcionalidades e incluir funcionalidades extras para todas las rutas que se generen.
Importante: para poder visualizar la información de desarrollo
DEBUG=zi-express:*
Iniciar
Se instancia un objeto como se hace a continuación:
const ZIExpress = require('@zerointermittency/express');
let express = new ZIExpress(args);
Argumentos:
- args (Object):
- port (Number): puerto donde se alojan las rutas, por defecto: 8080
- ip (String): ip donde se alojan las rutas, por defecto: '0.0.0.0'
- options (Object):
- bodyParser (Object)
- json (Object): opciones para el modulo body-parser, el cual permite entregar información en formato json, por defecto:
{type: 'application/json', limit: '10mb'}
- json (Object): opciones para el modulo body-parser, el cual permite entregar información en formato json, por defecto:
- logger (Object/Boolean): si es false no despliega información sobre las peticiones que se realizan a cada ruta, por defecto:
{level: 'warn', format: 'zi'}
- ipHeaders (String): headers http desde donde se puede capturar la ip de la petición, por defecto:
['x-web-for', 'x-forwarded-for']
(el orden del arreglo tiene prioridad) - compression (Object): opciones para el middleware compression
- helmet (Object): opciones para el helmet
- bodyParser (Object)
Retorna:
(ZIExpress): Retorna la instancia de la clase ZIExpress.
Atributo core
Este atributo contiene la instancia de express y permite utilizar todas las funcionalidades que contiene en su documentación
Método Router
Este método retorna un router de express para poder asociarle rutas y agregarlo posteriormente a nuestro servidor.
// a partir de la instancia,
let router = express.Router();
// o a partir de la clase
let router = ZIExpress.Router();
router.route('test').get((req, res) => {...});
Los argumentos y el retorno de esta funcionalidad pueden verla en Router de express
Método use
Este método permite asociarle a el servidor de rutas un middleware o un router.
express.use(router);
// express.use(middleware);
Para mayor información app.use de express.
Método listen
Este método es el que ejecuta el servidor en el puerto e ip que se haya especificado.
Importante: para poder visualizar la información de desarrollo
DEBUG=npm-express:listen*
express.listen(callback);
Argumentos:
- callback (Function): función a ejecutar cuando se este ejecutando el servidor
Pruebas funcionales (Unit Testing)
Se llevaron a cabo las pruebas funcionales para validar el funcionamiento de sus métodos y opciones por defecto:
$ yarn test
Changelog
Todos los cambios importantes son escritos aquí.