¡Ven a la JSConf España 2026! Comprar entradas

Deploy de nuestra API de Express en Vercel

Hasta ahora nuestra API vivía feliz en localhost… pero eso en cuanto despliegas el frontend es como invitar a tu web a una fiesta y que se presente con la dirección de tu casa. No cuela.

En esta clase vamos a preparar el servidor para producción y desplegar la API en Vercel, que aunque mucha gente lo asocia solo a Next.js, también va perfecto para Express.

El problema: en producción no existe localhost

En local todo funciona: la web hace fetch, la API responde, filtros, resultados, etc. Pero el salto a producción exige una URL real.

Además, antes de desplegar, nos aseguramos de que la API devuelva la misma estructura que espera el frontend (por ejemplo: total, limit, offset y data con los resultados).

Preparando app.js para Vercel

En Vercel, tu backend se ejecuta como una función (serverless). Eso implica un cambio clave:

  1. Debemos exportar la app de Express
  2. No debemos levantar el servidor con app.listen() en producción

Ejemplo:

import express from 'express'

const app = express()
app.use(express.json())

// ...middlewares y rutas

export default app

const PORT = process.env.PORT ?? 1234

if (process.env.NODE_ENV !== 'production') {
  app.listen(PORT, () => {
    console.log(`Servidor levantado en http://localhost:${PORT}`)
  })
}

La idea es simple: en local lo levantas tú, en producción lo levanta la plataforma.

NODE_ENV: la variable que evita sustos de rendimiento

NODE_ENV indica el entorno de ejecución. Los dos valores típicos:

  • development (por defecto cuando no está definida)
  • production

En production se desactivan chequeos extra, logs y otras cositas que penalizan rendimiento. Y sí: es un fallo común dejarlo mal configurado.

Ejemplo al ejecutar:

NODE_ENV=production node app.js

Desplegando con Vercel CLI

1) Instala la CLI

Puedes hacerlo con pnpm o npm:

pnpm i -g vercel
# o
npm i -g vercel

2) Login

vercel login

Esto abre el navegador, autorizas, y listo.

3) Deploy

vercel deploy
# o el atajo
vc deploy

Te dará una URL de preview. Si tu API no responde en /, no pasa nada: prueba tu ruta real (por ejemplo /barrajobs).

Por qué Vercel mola para una API

  • Capa gratuita generosa
  • Deploy muy simple (literalmente un comando)
  • Escalado automático: no “tienes un servidor”, tienes los que haga falta
  • Rollbacks y dashboard con logs
  • HTTPS por defecto

Lo que hemos aprendido

  • ✅ Por qué localhost no vale en producción y cómo dar el salto
  • ✅ Cómo adaptar Express para serverless (exportar app y condicionar listen)
  • ✅ Qué hace NODE_ENV y por qué importa para rendimiento
  • ✅ Flujo completo: instalar CLI - login - deploy - probar rutas

Con esto ya puedes poner tu API a vivir en internet, pagando alquiler en Vercel y no en tu portátil.