Загрузка…
Загрузка…
Next.js · middle · сложность 5
Edge runtime — это не Node.js, а изолированный V8-контекст с Web-стандартами (WinterCG): fetch, Request/Response, crypto.subtle. Холодный старт почти нулевой, но нет fs, пулов соединений и долгоживущего состояния.
Платформа держит один V8 «горячим» и на каждый запрос поднимает свежий isolate за микросекунды — отсюда отсутствие cold start и невозможность держать глобальные таймеры или прогретый пул БД, как в Node.
Любая транзитивная зависимость от node:fs, Buffer или process может сломать сборку, даже если ваш код «чистый».
Подключение на уровне маршрута:
export const runtime = 'edge'; // in a route.ts, page.tsx, or layoutMiddleware по умолчанию всегда на Edge — он бежит до кэша на каждом совпадении matcher, поэтому должен быть крошечным и обычно не ходит в БД напрямую.
await fetch секундами — ожидание не считается CPU; тяжёлый JSON.parse или crypto-цикл убьёт функцию.Edge — инструмент латентности и географической близости к пользователю, а не замена Node для тяжёлой серверной логики и прямого доступа к БД.