advanced

Nitro server

Use Nuxt server routes, event handlers, runtime config, presets, caching, and edge/server deployment targets.

Nitro powers Nuxt server routes, middleware, and deploy adapters. Files in `server/api` become HTTP handlers; `server/middleware` runs on each request; `runtimeConfig` separates public and private env.

					// server/api/health.get.ts
export default defineEventHandler(() => ({ ok: true }));
				

Presets target Node, serverless, or edge. Caching headers and storage drivers integrate at the Nitro layer.

On interviews: when to use server routes versus external API, cold starts on serverless, and keeping heavy work out of edge limits.

Common pitfalls: long CPU in edge handlers, exposing private config keys to client, and missing error handling in event handlers.

The trade-off is colocated BFF simplicity versus cold-start and runtime limits on serverless or edge presets.

Checklist:

  • Colocate BFF handlers with UI needs.
  • Split public/private runtimeConfig.
  • Choose preset for latency and ops model.
  • Add observability on server routes.