0.0.4 • Published 8 years ago

us-sdp-req-end v0.0.4

Weekly downloads
1
License
Apache-2.0
Repository
-
Last release
8 years ago

US-SDP-REQ-END

Servicio de fin de linea de "app" para aplicaciones creadas en base a express 4+.

Descripción

Basicamente envia al navegador las vistas que indican errores o solicitudes no encontradas en la aplicación de NodeJS. Para ayudar en el desarrollo, evalua la variable de entorno que determina el modo de funcionamiento de la aplicación y muestra el informe del stack error cuando esta en producción.

Características

  • Emite error 404 en modo de producción
  • Emite error 404 e imprime el -error stack- en modo de desarrollo (development)
  • Emite error 500 cuando se ha producido un error
  • Vista independiente para cada error:
    • 404 para producción
    • 404 para el entorno de desarrollo
    • 500 para producción y desarrollo
  • Renderiza sus propias vistas, las puedes modificar en bin/views
  • Utiliza fuentes de Google Fonts para mejorar la apariencia de las vistas
  • Indica de sutílmente la variable de entorno env al final de las vistas

Instalación

  • Este módulo requiere NodeJS v4.x para funcionar.
  • No ha sido probado en NodeJS 6.x.
  • Adicionalmente usa internamente EJS, para renderizar las vistas en cualquier proyecto sin importar cual motor de renderizado use este. Contiene sus propias vistas alojadas en bin/views.
$ npm install us-sdp-req-end

Para instalar una versión específica usa:

$ npm install us-sdp-req-end@x.x.x

Forma de uso

var express = require('express');
var reqEnd  = require('us-sdp-req-end');

// Tu código de servidor
var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();

app.use('/', routes);
app.use('/users', users);
// --

reqEnd(app);

Para ejecutar tu app con variable de entorno

En package.json coloca esta información: Nota: reemplaza "./bin/www" por la ruta de inicio de tu app

{ 
    ... 
    "scripts": { 
        
        "start": "NODE_ENV=production node ./bin/www"  
    } 
    ... 
}

entonces ejecutas en la terminal:

npm start

Más formas de enviar variables de entorno a tu aplicación de NodeJS

Ejemplo de uso

// ---------------------------------------------------------------------------------------------------------------------
// MODULOS REQUERIDOS PARA EL PROYECTO
// ---------------------------------------------------------------------------------------------------------------------
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var reqEnd  = require('us-sdp-req-end');

// ---------------------------------------------------------------------------------------------------------------------
// VARIABLES
// ---------------------------------------------------------------------------------------------------------------------
var routes = require('./routes/index');
var users = require('./routes/users');

// ---------------------------------------------------------------------------------------------------------------------
// APP
// ---------------------------------------------------------------------------------------------------------------------
var app = express();

app.set('json spaces', 2);

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

// ---------------------------------------------------------------------------------------------------------------------
// CORS
// ---------------------------------------------------------------------------------------------------------------------

app.use(function(req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST', 'DELETE', 'UPDATE', 'OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization', 'XMLHttpRequest');
  next();
});

// ---------------------------------------------------------------------------------------------------------------------
// ROUTER
// ---------------------------------------------------------------------------------------------------------------------
app.use('/', routes);
app.use('/users', users);


// ---------------------------------------------------------------------------------------------------------------------
// MANEJO DE ERRORES DE FIN DE LINEA
// Manejo de errores de final de linea en la cadena de requerimientos
// Cuando no se obtiene una respuesta de ningun servicio para la petición
// del request, el siguiente modulo procesa la respuesta.
// ---------------------------------------------------------------------------------------------------------------------
reqEnd(app);

Todos

  • Personalización programada de mensajes para cada vista
  • Especificar la ruta para el renderizado de vistas de usuario

Licencia

Licenciado bajo la Licencia Apache, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago