¿Qué es Express.js?
Express.js es un framework web minimalista y flexible para Node.js que proporciona un conjunto robusto de características para aplicaciones web y móviles. Es uno de los frameworks más populares en el ecosistema de Node.js debido a su simplicidad y extensibilidad.
Características Clave de Express.js
- Minimalista: Express.js es un framework ligero que proporciona solo las funcionalidades básicas necesarias para construir aplicaciones web.
- Flexibilidad: Permite agregar middleware y otras funcionalidades según sea necesario.
- Rendimiento: Está diseñado para ser rápido y eficiente.
- Extensibilidad: Tiene una gran cantidad de middleware y plugins disponibles para extender sus capacidades.
Instalación de Express.js
Para comenzar a usar Express.js, primero necesitas instalarlo. Asegúrate de tener Node.js y npm instalados en tu sistema.
Paso 1: Crear un Proyecto Node.js
Primero, crea un nuevo directorio para tu proyecto y navega a él:
Paso 2: Inicializar un Proyecto Node.js
Inicializa un nuevo proyecto Node.js con npm init
. Esto creará un archivo package.json
en tu directorio de proyecto.
Paso 3: Instalar Express.js
Instala Express.js usando npm:
Tu Primer Programa en Express.js
Vamos a crear una aplicación básica en Express.js que responda con "Hello World!" cuando se acceda a la ruta raíz (/
).
Paso 1: Crear el Archivo Principal
Crea un archivo llamado app.js
en tu directorio de proyecto.
Paso 2: Escribir el Código
Abre app.js
y escribe el siguiente código:
// Importar el módulo express const express = require('express'); // Crear una instancia de la aplicación express const app = express(); // Definir una ruta para la raíz del sitio app.get('/', (req, res) => { res.send('Hello World!'); }); // Iniciar el servidor en el puerto 3000 const PORT = 3000; app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`); });
Paso 3: Ejecutar la Aplicación
Guarda el archivo y ejecuta la aplicación con Node.js:
Abre tu navegador y navega a http://localhost:3000
. Deberías ver el mensaje "Hello World!".
Explicación del Código
- Importar Express:
const express = require('express');
importa el módulo Express. - Crear una Aplicación Express:
const app = express();
crea una instancia de la aplicación Express. - Definir una Ruta:
app.get('/', (req, res) => { res.send('Hello World!'); });
define una ruta para la raíz del sitio (/
). Cuando se accede a esta ruta, se envía la respuesta "Hello World!". - Iniciar el Servidor:
app.listen(PORT, () => { console.log(
Server is running on http://localhost:${PORT}); });
inicia el servidor en el puerto 3000 y muestra un mensaje en la consola indicando que el servidor está en funcionamiento.
Ejercicio Práctico
Ejercicio 1: Crear una Nueva Ruta
Crea una nueva ruta en tu aplicación Express que responda con "About Page" cuando se acceda a /about
.
Solución
Abre app.js
y agrega la siguiente ruta:
Guarda el archivo y reinicia la aplicación. Navega a http://localhost:3000/about
para ver la nueva ruta en acción.
Ejercicio 2: Manejar una Ruta con Parámetros
Crea una ruta que acepte un parámetro de URL y responda con un mensaje que incluya ese parámetro. Por ejemplo, si la URL es /hello/John
, la respuesta debería ser "Hello, John!".
Solución
Abre app.js
y agrega la siguiente ruta:
app.get('/hello/:name', (req, res) => { const name = req.params.name; res.send(`Hello, ${name}!`); });
Guarda el archivo y reinicia la aplicación. Navega a http://localhost:3000/hello/John
para ver la nueva ruta en acción.
Conclusión
En esta lección, hemos introducido Express.js, un framework web minimalista y flexible para Node.js. Aprendimos cómo instalar Express.js, crear una aplicación básica y definir rutas. En las próximas lecciones, profundizaremos en más características y funcionalidades de Express.js, como middleware, enrutamiento avanzado y manejo de errores.
¡Felicidades por completar esta lección! Ahora estás listo para explorar más sobre Express.js en las siguientes secciones del curso.
Curso de Node.js
Módulo 1: Introducción a Node.js
Módulo 2: Conceptos Básicos
Módulo 3: Sistema de Archivos y E/S
Módulo 4: HTTP y Servidores Web
- Creando un Servidor HTTP Simple
- Manejo de Solicitudes y Respuestas
- Sirviendo Archivos Estáticos
- Enrutamiento
Módulo 5: NPM y Gestión de Paquetes
- Introducción a NPM
- Instalación y Uso de Paquetes
- Creación y Publicación de Paquetes
- Versionado Semántico
Módulo 6: Framework Express.js
- Introducción a Express.js
- Configuración de una Aplicación Express
- Middleware
- Enrutamiento en Express
- Manejo de Errores
Módulo 7: Bases de Datos y ORMs
- Introducción a las Bases de Datos
- Usando MongoDB con Mongoose
- Usando Bases de Datos SQL con Sequelize
- Operaciones CRUD
Módulo 8: Autenticación y Autorización
- Introducción a la Autenticación
- Usando Passport.js
- Autenticación JWT
- Control de Acceso Basado en Roles
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias con Mocha y Chai
- Pruebas de Integración
- Depuración de Aplicaciones Node.js
Módulo 10: Temas Avanzados
- Módulo Cluster
- Hilos de Trabajo
- Optimización del Rendimiento
- Construcción de APIs RESTful
- GraphQL con Node.js
Módulo 11: Despliegue y DevOps
- Variables de Entorno
- Usando PM2 para la Gestión de Procesos
- Desplegando en Heroku
- Integración y Despliegue Continuos