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:
- Debemos exportar la app de Express
- 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.