DICCIONARIO · E

Express.js

Express.js es un framework web minimalista y de código abierto para Node.js que sirve para crear servidores HTTP, APIs y aplicaciones web con JavaScript en el servidor. Organiza el código en rutas y middleware, es gratuito con licencia MIT y es la base de muchos backends y de otros frameworks de Node.

Germán Gutiérrez Escrito por Germán Gutiérrez 6 min de lectura
Ficha rápida
Tipo
Framework web para Node.js (backend)
Autor original
TJ Holowaychuk; primera versión 1.0 publicada en npm en diciembre de 2010
Versión actual
Express 5 (5.2.1 en npm); la 5.1.0 pasó a ser la versión por defecto el 31 de marzo de 2025
Requisito de Express 5
Node.js 18 o superior
Licencia y precio
MIT, gratuito
Gobernanza
Proyecto de la OpenJS Foundation (antes Node.js Foundation, desde 2016)

≡En resumen

  • Express.js es el framework web más conocido de Node.js: añade rutas, middleware y utilidades HTTP sin imponer una estructura.
  • Todo en Express es middleware: funciones que reciben la petición, la respuesta y next() y se ejecutan en orden.
  • Express 5 salió el 9 de septiembre de 2024, exige Node.js 18 o superior y captura los errores de funciones async.
  • Es ideal para APIs REST y backends a medida; para proyectos grandes muchos equipos usan NestJS, que por defecto funciona sobre Express.
  • Es gratuito y de código abierto, pero la seguridad depende de ti: versiones al día, Helmet, validación de entradas y buenas prácticas.

01 ¿Qué es Express.js?

Node.js permite ejecutar JavaScript fuera del navegador, pero su módulo HTTP nativo es de bajo nivel: tendrías que interpretar URL, cabeceras y cuerpos a mano. Express añade esa capa que falta sin imponer una arquitectura, por eso se describe a sí mismo como un framework «rápido, sin opiniones y minimalista».

Lo creó TJ Holowaychuk en 2010, inspirado en Sinatra, un microframework de Ruby. En 2014 su gestión pasó a StrongLoop, que IBM compró en 2015; en 2016 el proyecto se trasladó a la Node.js Foundation, hoy integrada en la OpenJS Foundation.

02 Para qué sirve Express.js

01

APIs REST y JSON

Su uso más habitual: endpoints que reciben y devuelven JSON para una web, una app móvil o un servicio externo.

02

Backends de aplicaciones web

Gestiona sesiones, autenticación, subida de archivos y conexión con bases de datos como MongoDB o PostgreSQL.

03

Webs renderizadas en servidor

Genera HTML con motores de plantillas como Pug o EJS, útil para paneles internos o webs sencillas.

04

Microservicios y proxies

Servicios pequeños que hacen una sola tarea, webhooks o pasarelas entre sistemas.

05

Prototipos y MVP

Permite tener un backend funcional en horas, algo valioso cuando se valida una idea.

06

Base de otros frameworks

NestJS usa Express como adaptador HTTP por defecto, así que aprender Express ayuda a entender lo que hay debajo.

Es la «E» de los stacks MEAN y MERN (MongoDB, Express, Angular o React y Node.js), en los que todo el proyecto usa JavaScript, del navegador a la base de datos con MongoDB. Cuando necesitas conectar una web o una app con otros sistemas, lo normal es exponer una API REST construida con Express o un framework similar.

03 Cómo funciona: rutas, middleware y un ejemplo de código

Una aplicación Express se basa en dos piezas. Las rutas asocian un método HTTP y una ruta (GET /, POST /pedidos) con una función. El middleware son funciones con la forma (req, res, next) que se ejecutan en orden: pueden leer o modificar la petición, responder o pasar el control a la siguiente con next().

Ejemplo · Servidor mínimo con Express

const express = require('express');
const app = express();
app.use(express.json());
app.get('/productos', (req, res) => res.json([{ id: 1, nombre: 'Camiseta' }]));
app.listen(3000);

La tercera línea es un middleware integrado que interpreta los cuerpos JSON; la cuarta es una ruta; la última arranca el servidor en el puerto 3000. Con el mismo patrón añadirías app.post('/pedidos', ...) para crear pedidos o un middleware propio que compruebe un token antes de dejar pasar la petición a las rutas privadas.

  1. 1

    Instala Node.js

    Para Express 5 necesitas Node.js 18 o superior. Compruébalo con node -v.

  2. 2

    Crea el proyecto

    En una carpeta nueva ejecuta npm init -y para generar el package.json.

  3. 3

    Instala Express

    Ejecuta npm install express; hoy instala la rama 5 por defecto.

  4. 4

    Escribe tu primera ruta

    Crea un archivo app.js con el ejemplo anterior y define las rutas que necesites.

  5. 5

    Arranca y prueba

    Lanza node app.js y abre http://localhost:3000/productos en el navegador o con curl.

04 Express 5: qué cambia respecto a Express 4

Express 5.0.0 se publicó el 9 de septiembre de 2024, diez años después de que se abriera su propuesta, y el equipo lo anunció oficialmente el 15 de octubre de 2024. El 31 de marzo de 2025 la versión 5.1.0 pasó a ser la etiqueta latest de npm, es decir, la que se instala por defecto.

Aspecto Express 4 Express 5
Versión de Node.js Compatible con versiones muy antiguas Node.js 18 o superior
Errores en funciones async Hay que capturarlos a mano y llamar a next(err) Una promesa rechazada se trata como next(err) automáticamente
Sintaxis de rutas path-to-regexp 0.x, admite expresiones regulares en parámetros path-to-regexp 8: comodines con nombre (*nombre) y opcionales con llaves
Métodos retirados app.del(), res.sendfile(), res.send(estado, cuerpo) Usa app.delete(), res.sendFile() y res.status().send()
Estado de soporte Mantenimiento desde el 1 de abril de 2025 Rama activa
Principales diferencias entre Express 4 y Express 5

05 Ventajas, desventajas y alternativas a Express

Ventajas Desventajas
Curva de aprendizaje suave y mucha documentación No impone estructura: en proyectos grandes cada equipo inventa la suya
Ecosistema enorme de middleware en npm La calidad y el mantenimiento de los middleware varían mucho
Flexible para APIs, webs y microservicios No es el más rápido en pruebas de rendimiento frente a Fastify
Gratuito, MIT y con gobernanza abierta Seguridad y validación dependen de configurarlas bien
Express.js: pros y contras
01

NestJS

Framework con arquitectura por módulos y TypeScript; por defecto funciona sobre Express y puede usar Fastify.

02

Fastify

Enfocado en rendimiento y validación de esquemas JSON, con una API parecida a Express.

03

Koa

Creado por el equipo original de Express, más minimalista y pensado desde el principio para async/await.

04

Hono

Ligero y pensado para funcionar en varios entornos, como Node.js, Deno, Bun o plataformas edge.

06 Buenas prácticas para usar Express en producción

  • ✓Usa una versión con soporte (Express 5, o Express 4 solo mientras migras) y actualiza dependencias con frecuencia.
  • ✓Añade cabeceras de seguridad con Helmet y limita el tamaño de los cuerpos que aceptas.
  • ✓Valida y sanea toda entrada de usuario antes de usarla en consultas a la base de datos.
  • ✓Define NODE_ENV=production y activa la compresión gzip o Brotli, o delega en el proxy inverso.
  • ✓Centraliza el manejo de errores en un middleware final y no muestres trazas al usuario.
  • ✓Registra peticiones y errores con un logger estructurado y monitoriza el proceso con un gestor como PM2 o contenedores.

Express es una buena elección cuando necesitas un backend propio para una web, un panel interno o el servidor de una app, y encaja en proyectos de desarrollo de aplicaciones web a medida o en el backend que da servicio al desarrollo de aplicaciones móviles. Si dudas entre construir o contratar una herramienta, compara antes software a medida o SaaS.

Preguntas frecuentes sobre Express.js

Es un framework web minimalista para Node.js que facilita crear servidores, APIs y aplicaciones web con JavaScript mediante rutas y middleware.

Sobre todo para construir APIs REST y backends: recibir peticiones HTTP, aplicar lógica, consultar una base de datos y devolver JSON o HTML.

Node.js es el entorno que ejecuta JavaScript en el servidor. Express es una librería que se instala sobre Node.js para simplificar el manejo de rutas, peticiones y respuestas.

Es backend. Se ejecuta en el servidor y suele comunicarse con un frontend hecho en React, Angular, Vue o con una app móvil.

Sí. Es software libre con licencia MIT y puedes usarlo en proyectos comerciales sin coste.

Express 5, que es la versión por defecto en npm desde marzo de 2025 y requiere Node.js 18 o superior. Express 4 está en fase de mantenimiento.

Express si quieres algo ligero y flexible o un proyecto pequeño. NestJS si buscas una arquitectura estructurada con TypeScript para un equipo grande; además, por defecto funciona sobre Express.

Fuentes consultadas

Germán Gutiérrez

Sobre el autor

Germán Gutiérrez

Development Manager en appyweb

Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.

Ver perfil en LinkedIn ↗

Términos relacionados

Ver todos los términos →
N Node.js Node.js es un entorno de ejecución de JavaScript de código abierto y multiplataforma que permite usar JavaScript fuera del navegador, sobre todo en servidores, gracias al motor V8 y a un modelo de entrada/salida asíncrono basado en eventos. Importa porque permite construir APIs, backends y herramientas con el mismo lenguaje que el frontend. J JavaScript JavaScript es un lenguaje de programación interpretado o compilado al vuelo, dinámico y basado en prototipos, que los navegadores ejecutan para hacer interactivas las páginas web. Junto a HTML y CSS forma la base de la web: lo usa el 98,9 % de los sitios, y con Node.js también sirve para servidores y aplicaciones. F Framework Un framework es un marco de trabajo de software que da a los programadores una estructura, unas reglas y un conjunto de componentes listos para construir aplicaciones sin partir de cero. A diferencia de una librería, el framework controla el flujo del programa y llama a tu código. Laravel, Django, Angular o Flutter son frameworks. A API REST Una API REST es una interfaz de programación que sigue el estilo de arquitectura REST (Representational State Transfer): expone los datos como recursos identificados por URLs y permite leerlos o modificarlos con los métodos estándar de HTTP, sin guardar estado entre peticiones. Es el modelo más usado para conectar webs, apps móviles y servicios en la nube. B Back end El back end es la parte de una web o aplicación que se ejecuta en el servidor y que el usuario no ve: la lógica de negocio, la base de datos, la autenticación y las API que entregan la información al navegador o a la app. Sin back end no hay registros, pagos, búsquedas ni contenidos dinámicos. M Mongo Mongo es el nombre corto de MongoDB, una base de datos NoSQL orientada a documentos que guarda la información en documentos tipo JSON (en formato binario BSON) en lugar de en tablas. Es flexible, escala en horizontal y es muy usada en aplicaciones web y móviles. Desde 2018 usa licencia SSPL y tiene una versión en la nube, MongoDB Atlas.

Cuéntanos tu proyecto. Te respondemos en 48 h.

Auditoría gratuita de IA, campañas, web y SEO, con prioridades y cifras reales de tu negocio.

✓ Sin compromiso ✓ Respuesta en 48 h laborables ✓ Un consultor senior, no un bot
WA WhatsApp