Next.js 57: Runtime Edge vs Node.js
easy⏱ 5 mincoursenextjs
Dos runtimes, dos compromisos
Las funciones Edge corren en un isolate de V8 liviano replicado en muchas regiones — no hay que arrancar un proceso Node.js completo, así que los arranques en frío son rápidos, pero pierdes acceso a APIs exclusivas de Node (fs, la superficie completa de crypto, addons nativos). Las funciones Node.js corren en un proceso Node.js real — todo funciona, pero levantar uno en frío cuesta más tiempo.
// app/api/hello/route.ts
export const runtime = "edge"; // or "nodejs" (the default)
export async function GET() {
return Response.json({ message: "Hello from the edge!" });
}
Elige el runtime correcto
ANSWERS.diskRead ya está en 'nodejs' (leer un archivo necesita fs, que es solo de Node) y ANSWERS.geoRedirect en 'edge' (un redirect liviano quiere el arranque en frío rápido de Edge) — confirma que ambos muestran 'Correct' abajo. Prueba invertir uno y observa que la explicación cambia.
No toda ruta necesita edge
El arranque en frío rápido de Edge importa sobre todo para puntos de entrada sensibles a la latencia y de alto tráfico — checks de auth, redirects, personalización. Un job de fondo o cualquier cosa que use una librería exclusiva de Node (un paquete de procesamiento de imágenes, un driver de base de datos que requiera sockets TCP) debería quedarse en el runtime Node.js, arranque en frío o no.