Introducción a Express.js: Framework Web en Node.js

09/08/2024 | JavaScript, Node.js | 0 comentarios

Express.js simplifica el desarrollo web con Node.js. Conoce sus aplicaciones, ventajas y cómo iniciar tu proyecto con esta guía básica.

Descargar archivos


Express.js

Express.js es un framework web para Node.js, diseñado para la creación de aplicaciones web y APIs. Es minimalista y flexible, proporciona un conjunto de características para desarrollo web como: gestionar rutas, manejar solicitudes HTTP, entre otros.

Algunas de sus aplicaciones que se puede implementar con Express.js son:

  • Aplicaciones web: Permite desarrollar aplicaciones web, facilitando el manejo de rutas, plantillas, y middleware.
  • APIs RESTful: Facilita la creación de APIs RESTful, proporcionando métodos para manejar solicitudes HTTP.
  • Aplicaciones en tiempo real: Con paquetes adicionales Express.js puede usarse para crear aplicaciones en tiempo real, como chats y sistemas de notificaciones.

Configuración

Antes de empezar, necesitas tener Node.js y npm (Node Package Manager) instalados en tu máquina. Puedes descargar e instalar Node.js desde su https://nodejs.org/.

1. Crear un nuevo proyecto

Crea una carpeta para tu proyecto, luego inicializa el proyecto de Node.js e instala el paquete Express.


npm init -y
npm install express

2. Crear el servidor con Express.js

Crea un archivo index.js en el directorio raíz de tu proyecto y agrega el siguiente código donde crearemos un servidor web escuchando en el puerto 3000.


// file: index.js
const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
    res.send('¡Hola, mundo!')
})

app.listen(port, () => {
    console.log(`Listening on port ${port}`)
})

Para ejecutar tu servidor Express, usa el siguiente comando en tu terminal:


node index.js

Para ver el resultado, abre tu navegador e ingresa a http://localhost:3000.

Enrutamiento

El enrutado consiste en determinar como se va a responder a una solicitud del cliente dependiendo de la ruta y el tipo de solicitud. El enrutamiento tiene la siguiente estructura:


app.METHOD(PATH, (req, res) => {
  // process request
})

Donde se tiene:

  • app: es la instancia de Express.
  • METHOD: es el método HTTP de la solicitud en minúsculas (get, post, put, delete)
  • PATH: es la ruta del servidor con la que puede acceder el usuario.
  • req: Objeto que contiene los datos del request (headers, query string, body, cookies).
  • res: Objeto con la respuesta HTTP que express envía al cliente.

Con estos conceptos podemos crear un API RESTful de ejemplo:


// file: api-rest.js
const express = require('express');
const app = express();
const port = 3000;

app.get('/user', (req, res) => {
    res.json({ name: 'Louis', email: 'lous@gmail.com', phone: 99999998 });
});

app.post('/user', (req, res) => {
    res.send('Create user');
});

app.put('/user', (req, res) => {
    res.send('Update user');
});

app.delete('/user',  (req, res) => {
    res.send('Delete user');
});

app.listen(port, () => {
    console.log(`App listening on port ${port}`)
});

Ejecutamos este script en línea de comandos con:

node api-rest.js

Middlewares

Un middleware es una función que tiene acceso a la solicitud (req), la respuesta (res) y a la siguiente función en el ciclo de solicitud/respuesta. Esto permite procesar las solicitudes antes que sean procesados por los enrutadores. Se usa el método use para aplicar los middlewares.

Como ejemplo usaremos dos middlewares: express.json() que parsea los datos en formato JSON y express.urlencoded({ extended: true }) que parsea los datos del URL.


// file: middleware.js
const express = require('express');
const app = express();
const port = 3000;

app.use(express.json())
app.use(express.urlencoded({ extended: true }))

app.get('/user', (req, res) => {
    res.json(req.query);
});

app.post('/user', (req, res) => {
    res.json(req.body);
});

app.listen(port, () => {
    console.log(`App listening on port ${port}`)
});

Ejecutamos este script en línea de comandos con:

node middleware.js

Conclusión

Express.js es un framework potente y flexible que facilita el desarrollo de aplicaciones web y APIs con Node.js. Su simplicidad y extensibilidad lo hacen adecuado tanto para proyectos pequeños como para aplicaciones más grandes y complejas.

Referencias

Envíar Comentario

En este sitio los comentarios se publican previa aprobación del equipo de Kodetop. Evita los comentarios ofensivos, obscenos o publicitarios. Si deseas publicar código fuente puedes hacerlo entre las etiquedas <pre></pre>