4-Web de Lista de Libros-Organizar Rutas
Cómo Organizar Rutas en Node.js: Estructura Limpia y Escalable
*15 de junio, 2025*
Cuando desarrollamos aplicaciones web con Node.js y Express, organizar las rutas correctamente es clave para mantener un código limpio y escalable. Hoy te muestro cómo estructurar tu proyecto de manera profesional.
🗂️ Nueva Estructura de Carpetas
Creamos una carpeta dedicada exclusivamente a rutas:
mi-app/
├── node_modules/
├── public/
│ ├── css/
│ ├── js/
│ └── images/
├── routes/ ← ¡Nueva carpeta para rutas!
│ └── index.js
├── views/
│ └── index.ejs
├── app.js
├── package.json
└── .gitignore
Inicializar el proyecto
bash
npm init --yes
npm init -y
npm init
npm init
Express - El framework web
bash
npm install express
Morgan - Logger para desarrollo
bash
npm install morgan
Motor de plantillas
bash
npm install ejs
npm install nodemon
npm install
npm start
Métodos para Iniciar el Proyecto
a) npm run dev (Recomendado para desarrollo)
bash
npm run dev
Cómo funciona: Ejecuta el script "dev" definido en tu package.json
Requisito: Debes tener Nodemon instalado y configurado en package.json:
json
"scripts": {
"dev": "nodemon app.js"
}
Cómo funciona: Ejecuta el script "dev" definido en tu package.json
Requisito: Debes tener Nodemon instalado y configurado en package.json:
json
}
c) npm start (Para producción)
bash
npm start
Configuración típica:
json
"scripts": {
"start": "node app.js"
}
Configuración típica:
json
✨ Paso 1: Crear el Archivo de Rutas
routes/index.js
contendrá todas nuestras rutas:
const express = require('express');
const router = express.Router();
// Ruta principal
router.get('/', (req, res) => {
res.render('index', { titulo: 'Mi App Web' });
});
// Ruta "Acerca de"
router.get('/about', (req, res) => {
res.render('about', { titulo: 'Acerca de' });
});
module.exports = router;
🔄 Paso 2: Configurar Express
Modificamos app.js
para usar nuestras rutas organizadas:
const express = require('express');
const path = require('path');
const app = express();
// Configuración básica
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, 'public')));
// Importar y usar rutas
const indexRouter = require('./routes/index');
app.use('/', indexRouter);
// Iniciar servidor
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Servidor activo en http://localhost:${PORT}`);
});
💡 Beneficios de Esta Estructura
Mejor organización: Rutas separadas de la configuración principal.
Escalabilidad: Fácil añadir nuevas rutas en archivos dedicados.
Mantenimiento: Código más legible y fácil de debuggear.
🚀 Próximos Pasos
En futuros posts, exploraremos cómo:
Dividir rutas en múltiples archivos (ej.
books.js
,users.js
)Implementar middlewares específicos
Manejar errores eficientemente
¿Te gustaría que profundice en algún tema en particular? ¡Déjalo en los comentarios!
Comentarios
Publicar un comentario