Nuxt 4 & Nitro
21. Nuxt 4 Architecture, Nitro Hooks & useAsyncData
Architect applications with Nuxt 4 forward-compatible directory layout, universal data fetching lifecycle with caching, and Nitro server extensions.
nuxt4-data.ts
// Nuxt 4 Forward-Compatible app/ & Universal Data Fetching
export default defineNuxtComponent({
async setup() {
// 1. useAsyncData with key-based deduplication & SSR hydration transfer
const { data: telemetry, status, refresh } = await useAsyncData(
'node-telemetry',
() => $fetch('/api/v1/metrics'),
{ lazy: false, server: true }
);
return { telemetry, status, refresh };
}
});Nuxt 4 Architecture, Nitro Hooks & useAsyncData
Nuxt 4 introduces a forward-compatible directory layout with app/, universal
caching via useAsyncData and useFetch, and deep Nitro server
integration.
- Universal Data Fetching (
useAsyncData): Prevents double-fetching during client hydration by serializing server-fetched data in the SSR payload. - Deduplication Keys: Key-based cache management ensures multiple components requesting the same key share a single network request.
- Server Routes (
server/api/): Backed by Nitro with automatic HMR, typed endpoints, and cross-platform multi-runtime presets.
Nuxt 4 useAsyncData Cache Simulator Universal Data Cache
Options:
Cached Reads: 3
Key: "telemetry-metrics" Status: CACHED
• Data transferred across SSR payload boundary without client re-fetch.
• Lazy mode: Disabled (Blocking server render)