Estructura Base y Middlewares en Express (Lumina Project)
Configuración esencial de un servidor Express incluyendo EJS, gestión de estáticos y manejo de sesiones, extraído del núcleo del proyecto Lumina.
estructura-base-express-lumina.js
const express = require('express');
const path = require('path');
const session = require('express-session');
const flash = require('connect-flash');
const app = express();
// Configuración del motor de vistas (EJS)
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
// Middlewares de archivos estáticos y body-parsing
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
// Configuración de Sesión y Mensajes Flash
app.use(session({
secret: 'lumina_secret_key',
resave: false,
saveUninitialized: false
}));
app.use(flash());
// Puerto de escucha
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Servidor Lumina corriendo en http://localhost:${PORT}`);
});