How is the Nuxt framework structured?
Nuxt is built around Vue and adds a convention-based application layer. Its documented public architecture includes Vue components, file-based routing, rendering controls, data utilities, build tooling, and a Nitro-powered server.
This description concerns the framework developers can use. It does not infer the private hosting, storage, monitoring, or internal deployment design of nuxt.com from public signals.
Public framework layers
| Layer | Documented responsibility |
|---|---|
| Vue | Components, templates, reactivity, composables, and browser interaction |
| Nuxt application conventions | Pages, layouts, middleware, plugins, auto-imports, configuration, and data-handling patterns |
| File-system router | Converts Vue files in app/pages/ into application routes |
| Rendering system | Supports universal rendering, client-side rendering, prerendering, and hybrid route behaviour |
| Nitro | Runs server rendering, API handlers, middleware, server plugins, and deployment-oriented output |
| Optional modules | Extend Nuxt without making every capability part of the framework core |
| Nuxt Content | Adds file-based content collections, queries, navigation data, and MDC support |
How a request can flow
- A URL matches a page route, server route, or API handler created from the project structure.
- Route rules may alter rendering, caching, redirection, or client-only behaviour for that path.
- Nitro handles request-time server work when the selected mode requires it.
- Vue renders the interface, and universal pages can hydrate in the browser for interaction.
- Prerendered routes may instead serve output produced during the build.
The chosen deployment preset adapts Nitro output for a supported runtime. Platform capabilities still matter: cache integration, incremental regeneration, available server APIs, and process behaviour can differ between hosts.
Architecture review should therefore cover the Nuxt version, enabled modules, route rules, client payload, server-only boundaries, and target runtime. The framework provides the pieces, while each project determines how they are combined.
