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.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:
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.
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.
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.
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!');
});
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.
De ninguna manera. No es necesario “representar” 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()
.