Tutorial de Express.js: crea un servidor Node paso a paso

Tutorial de Express.js

Tutorial de Express.js: rutas, middleware, JSON, Express 5 | We.Inc

Crea un servidor Express 5 paso a paso: rutas, middleware, cuerpos JSON, archivos estáticos y un manejador de errores, más un generador de servidor inicial y los cambios de v4 a v5.

Express es un framework web pequeño para Node.js. Instálalo con npm install express, crea una app con express(), añade rutas como app.get('/', handler) y arráncala con app.listen(3000). El middleware como express.json() se ejecuta antes de tus rutas, y un manejador de errores con cuatro argumentos va al final.

Piezas básicas de Express

La mayoría de los tutoriales de Express siguen mostrando código de la versión 4 que falla o da avisos en la versión 5, que ahora es la que se instala por defecto. Esta guía usa Express 5 de principio a fin, genera un servidor inicial con las partes que marques y termina con una tabla de los cambios que más tropiezos causan al actualizar un proyecto antiguo.

Preguntas frecuentes

¿Qué versión de Node.js necesita Express 5?

Express 5 requiere Node.js 18 o posterior. Si estás atascado en un Node más antiguo, quédate en Express 4 hasta que puedas actualizar el runtime.

¿Por qué req.body es undefined?

No se ejecutó ningún parser del cuerpo para esa petición. Añade app.use(express.json()) para JSON o express.urlencoded() para envíos de formularios antes de tus rutas, y asegúrate de que el cliente envía una cabecera Content-Type que coincida. En Express 5, un cuerpo sin analizar es undefined en lugar de un objeto vacío.

¿Cómo escribo una ruta comodín en Express 5?

Ahora los comodines deben tener nombre. Usa app.get('/*splat', handler) en lugar de '/*'. Para que también coincida la ruta raíz, envuélvelo entre llaves: '/{*splat}'.

¿Qué hace next()?

Pasa la petición al siguiente middleware o ruta que coincida. Usa next() para continuar, next(err) para saltar a los manejadores de errores, o envía una respuesta para cortar la cadena. Si olvidas ambas cosas, la petición se queda colgada.

¿Sigo necesitando body-parser?

No para JSON ni datos de formulario. express.json() y express.urlencoded() vienen integrados. Ten en cuenta que en Express 5 la opción extended del parser urlencoded es false por defecto.

Rutas y parámetros

El middleware en un párrafo

Preparar un proyecto

Instalar y ejecutar

Crea una carpeta, inicializa package.json, márcalo como proyecto de ES modules e instala Express.

Rutas en su propio archivo

Un router es una mini app. Móntalo bajo un prefijo para que cada ruta interna sea relativa a él.

Los errores async llegan al manejador de errores

En Express 5, una promesa rechazada en una ruta se reenvía por ti. El handler de cuatro argumentos, registrado al final, la convierte en una respuesta.

De Express 4 a 5: qué cambió

Express ofrece codemods para muchos de estos cambios: npx codemod@latest @expressjs/v5-migration-recipe.

Código de Express 4 y su sustituto en Express 5

Generador de servidor inicial

Formato de módulo

ES modules (import)

CommonJS (require)

Incluir

Análisis de cuerpos JSON

Archivos estáticos desde public/

Rutas de ejemplo con un parámetro de URL

Respuesta 404 para rutas desconocidas

Manejador de errores

Puerto

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio