Nuxt Fundamentals
Nuxt is a full-stack web framework built around Vue components. It adds file-based routing, server rendering, browser hydration, server endpoints, data-fetching conventions, and deployment tooling so one project can produce both the user interface and its supporting server behavior.
itWeb development | OpenSkills.info
Intro
Nuxt Fundamentals
Nuxt is a full-stack framework for building web applications with Vue. Vue supplies components, templates, reactivity, and the Composition API. Nuxt adds file-based routing, server rendering, data-fetching conventions, server endpoints, automatic imports, build tooling, and deployment presets.
A Nuxt application has two cooperating parts. The Vue application renders pages and browser interactions. The Nitro server renders initial HTML, runs server routes, and packages the production server. Some code can execute in both environments, so the server–browser boundary is the central design decision.
Nuxt fits content sites, commerce, dashboards, and applications that combine an interactive interface with server behavior. A client-only Vue application may be sufficient when every view can wait for JavaScript and no server endpoint is needed. A static generator may be preferable when every route is known at build time. Nuxt becomes useful when one codebase needs several rendering modes, server APIs, or framework-managed deployment output.
Directories declare application behavior
Nuxt turns conventional file locations into framework behavior. In Nuxt 4, client application code belongs under app/, while server code remains under server/ at the project root.
app/
├── app.vue
├── components/
├── composables/
├── layouts/
├── middleware/
├── pages/
└── plugins/
server/
├── api/
├── middleware/
├── plugins/
└── routes/
nuxt.config.ts
A file at app/pages/index.vue creates /. A file at app/pages/products/[id].vue creates a dynamic product route. Nuxt uses Vue Router for navigation, while <NuxtPage> renders the matched page. Layouts wrap pages through <NuxtLayout> and a slot, which keeps shared interface structure outside individual page files.
Files in app/components/, app/composables/, and app/utils/ can be auto-imported. Auto-imports reduce repetitive import statements without making every implementation global at runtime. Nuxt generates type declarations and includes only used code in the production bundle. This convention depends on framework scanning, so generated types may be missing until nuxt dev, nuxt build, or nuxt prepare has run.
An initial request crosses the server–browser boundary
Universal rendering is the default. When a browser requests a route, Nuxt runs the Vue application on the server and sends rendered HTML. The response also includes a payload containing data needed by the client. The browser displays the HTML, loads JavaScript, and hydrates the application by attaching Vue behavior to the existing markup.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://nuxt.com/
Supports
- Nuxt official product homepage and full-stack Vue framework identity
- https://nuxt.com/docs/4.x/getting-started/introduction
Supports
- Nuxt relationship to Vue, default server rendering, Nitro, modules, architecture packages, and production output
- Nuxt deployment across Node, serverless, worker, edge, and static targets
- https://nuxt.com/docs/4.x/getting-started/installation
Supports
- Official project creation, development server, and environment setup path
- https://nuxt.com/docs/4.x/directory-structure/
Supports
- Nuxt 4 app, server, shared, public, modules, layers, and configuration structure
- https://nuxt.com/docs/4.x/directory-structure/app/pages/
Supports
- File-based pages, dynamic parameters, NuxtPage, and route behavior
- https://nuxt.com/docs/4.x/directory-structure/app/layouts
Supports
- NuxtLayout, named layouts, default layout, slots, and shared page structure
- https://nuxt.com/docs/4.x/directory-structure/app/components
Supports
- Auto-imported components and client or server component boundaries
- https://nuxt.com/docs/4.x/directory-structure/app/composables
Supports
- Auto-imported composables, generated types, scanning rules, and Composition API reactivity
- https://nuxt.com/docs/4.x/guide/concepts/auto-imports
Supports
- Auto-imported Vue APIs, Nuxt APIs, components, composables, utilities, types, and tree-shaking behavior
- https://nuxt.com/docs/4.x/guide/concepts/rendering
Supports
- Universal rendering, browser hydration, client-side rendering, prerendering, and hybrid route rules
- Static output limitations and route caching behavior
- https://nuxt.com/docs/4.x/guide/best-practices/hydration
Supports
- Hydration mismatch causes, browser-only APIs, unstable values, SSR-friendly state, and correction patterns
- https://nuxt.com/docs/4.x/guide/concepts/nuxt-lifecycle
Supports
- Server rendering, hydration, plugins, middleware, page validation, and browser lifecycle order
- https://nuxt.com/docs/4.x/getting-started/data-fetching
Supports
- useFetch, useAsyncData, and $fetch roles
- Payload reuse, duplicate-fetch avoidance, status, errors, refresh, client-only fetching, and shared keys
- https://nuxt.com/docs/4.x/getting-started/state-management
Supports
- useState SSR behavior, serialization, shared state, request isolation, and store integration
- https://nuxt.com/docs/4.x/directory-structure/server
Supports
- Nitro API routes, unprefixed server routes, event handlers, middleware, request context, cookies, and forwarded requests
- Separation of application and server code
- https://nuxt.com/docs/4.x/directory-structure/app/middleware
Supports
- Route middleware order, server and client execution, navigation scope, and route arguments
- https://nuxt.com/docs/4.x/guide/going-further/runtime-config
Supports
- Private and public runtime configuration, environment overrides, serialization, and production behavior
- https://nuxt.com/docs/4.x/directory-structure/app/app-config
Supports
- Reactive bundled app configuration and its distinction from runtime configuration
- https://nuxt.com/docs/4.x/guide/concepts/modules
Supports
- Nuxt module purpose, configuration, hooks, installation, and extension behavior
- https://nuxt.com/docs/4.x/directory-structure/app/plugins
Supports
- Plugin registration, execution environment, injection, order, and application-instance behavior
- https://nuxt.com/docs/4.x/getting-started/error-handling
Supports
- createError, showError, error.vue, clearError, server errors, and client errors
- https://nuxt.com/docs/4.x/getting-started/deployment
Supports
- Nitro build output, Node server, static hosting, presets, provider detection, and production environment behavior
- https://github.com/sindresorhus/awesome
Supports
- Discovery of the curated Awesome Vue list from the canonical awesome index
- https://github.com/vuejs/awesome-vue
Supports
- Discovery of Pinia, VueUse, and Vue ecosystem projects relevant to Nuxt applications
- https://awesome-nuxt.dev/
Supports
- Discovery of current Nuxt ecosystem tools, modules, projects, and learning resources
- https://pinia.vuejs.org/ssr/nuxt.html
Supports
- Pinia Nuxt 3 and 4 integration, SSR support, stores, callOnce, and auto-imports
- https://vueuse.org/guide/
Supports
- VueUse Composition API utilities and Nuxt module auto-import integration
- https://ui.nuxt.com/
Supports
- Nuxt UI component library, module integration, Vue support, and interface components
- https://content.nuxt.com/docs/getting-started/installation
Supports
- Nuxt Content module installation, file-backed collections, and content query integration
- https://image.nuxt.com/get-started/installation
Supports
- Nuxt Image module, image components, composables, providers, and transformation behavior
- https://nuxtseo.com/
Supports
- Nuxt SEO modules for sitemap, robots, structured data, and social images
- https://vercel.com/academy/nuxt-on-vercel
Supports
- Nuxt deployment, runtime variables, server behavior, rendering modes, and production operation on Vercel
- https://docs.netlify.com/build/frameworks/framework-setup-guides/nuxt/
Supports
- Netlify Nuxt detection, SSR, static output, module integration, platform primitives, and image delivery
- https://developers.cloudflare.com/workers/framework-guides/web-apps/more-web-frameworks/nuxt/
Supports
- Nuxt deployment to Workers, Nitro output mapping, assets, compatibility flags, and bindings
- https://render.com/docs/deploy-nuxtjs
Supports
- Separate Nuxt Node server and static-site deployment paths on Render
- https://docs.railway.com/guides/nuxt
Supports
- Nuxt Node deployment, build output, service variables, and managed runtime on Railway
- https://docs.digitalocean.com/products/app-platform/getting-started/sample-apps/nuxt/
Supports
- Nuxt source deployment and application or static component choices on DigitalOcean App Platform
- https://nuxt.com/blog/nuxt3-beta
Supports
- Nuxt 3 first commit, Nitro, Vite, Bridge, beta dates, and the rewrite architecture
- https://nuxt.com/blog/v3
Supports
- Nuxt 3 stable release date and production-ready Vue 3, Vite, Nitro, TypeScript, and Nuxt Kit foundation
- https://nuxt.com/blog/nuxt-devtools-v1-0
Supports
- Nuxt DevTools 1.0 release date and generally available inspection capabilities
- https://nuxt.com/blog/nuxt2-eol
Supports
- Nuxt 2 end-of-life date and maintenance implications
- https://nuxt.com/blog/v4
Supports
- Nuxt 4 stable release date, app directory, data-fetching changes, and type-safety improvements
- https://nuxt.com/docs/4.x/community/roadmap
Supports
- Major version initial-release dates and support status
