Esta traducci贸n proporcionada por StrongLoop / IBM.

Este documento puede estar desfasado respecto a la documentaci贸n en ingl茅s. Para ver las 煤ltimas actualizaciones, consulte la documentaci贸n en ingl茅s.

Preguntas m谩s frecuentes

驴C贸mo debo estructurar mi aplicaci贸n?

No hay una respuesta definitiva a esta pregunta. La respuesta depende de la escala de la aplicaci贸n y del equipo implicado. Para ser lo m谩s flexible posible, Express no realiza suposiciones en cuanto a la estructura.

Las rutas y otra l贸gica espec铆fica de la aplicaci贸n puede residir en tantos archivos como desee, con la estructura de directorios que prefiera. Vea los siguientes ejemplos como inspiraci贸n:

Asimismo, hay extensiones de terceros para Express, que simplifican algunos de estos patrones:

驴C贸mo debo definir los modelos?

Express no tiene ninguna noci贸n de base de datos. Este concepto se deja para los m贸dulos de Node de terceros, lo que permite interactuar con pr谩cticamente cualquier base de datos.

Consulte LoopBack para ver una infraestructura basada en Express centrada en modelos.

驴C贸mo puedo autenticar los usuarios?

La autenticaci贸n es otra 谩rea r铆gida en la que no entra Express. Puede utilizar el esquema de autenticaci贸n que desee. Para ver un esquema simple de nombre de usuario/contrase帽a, consulte este ejemplo.

驴A qu茅 motor de plantilla da soporte Express?

Express da soporte a cualquier motor de plantilla que cumpla la firma (path, locals, callback). Para normalizar las interfaces de motor de plantilla y el almacenamiento en memoria cach茅, consulte el proyecto consolidate.js para ver el soporte. Otros motores de plantilla que no aparezcan en la lista tambi茅n pueden dar soporte a la firma de Express.

驴C贸mo puedo manejar las respuestas 404?

En Express, las respuestas 404 no son el resultado de un error, por lo que el middleware de manejador de errores no las capturar谩. Este comportamiento se debe a que una respuesta 404 simplemente indica la ausencia de trabajo adicional pendiente; es decir, Express ha ejecutado todas las rutas y funciones de middleware, y ha comprobado que ninguna de ellas responde. Lo 煤nico que debe hacer es a帽adir una funci贸n de middleware al final de la pila (debajo de las dem谩s funciones) para manejar una respuesta 404:


app.use(function(req, res, next) {
  res.status(404).send('Sorry cant find that!');
});

驴C贸mo configuro un manejador de errores?

El middleware de manejo de errores se define de la misma forma que otro middleware, excepto con cuatro argumentos en lugar de tres; espec铆ficamente con la firma (err, req, res, next):


app.use(function(err, req, res, next) {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});

Para obtener m谩s informaci贸n, consulte Manejo de errores.

驴C贸mo represento el HTML sin formato?

De ninguna manera. No es necesario 鈥渞epresentar鈥 HTML con la funci贸n res.render(). Si tiene un archivo espec铆fico, utilice la funci贸n res.sendFile(). Para el servicio de muchos activos desde un directorio, utilice la funci贸n de middleware express.static().