Nuxt full-stackThe intuitive full-stack Vue framework
Nuxt 3 brings file-based routing, auto-imports, server API routes, and hybrid rendering to Vue — making full-stack Vue development feel as productive as any other modern framework.
Nuxt is the full-stack Vue framework — it takes Vue 3 and adds file-based routing, auto-imports, server API routes, hybrid rendering, and the Nitro server engine. Nuxt 3 makes Vue development feel as productive as any modern full-stack framework, with conventions that eliminate boilerplate while remaining flexible. Its hybrid rendering lets you mix SSR, SSG, ISR, and SPA modes per route, and Nitro's universal runtime deploys to Vercel, Cloudflare Workers, Node, or static hosting. For Vue teams, Nuxt is the obvious choice for anything beyond a simple SPA.
Quick start
npx nuxi@latest init my-app
cd my-app
npm install
npm run devRead the full documentation at nuxt.com/docs
File-based routing
Pages, layouts, and middleware from the filesystem — no router config to maintain.
Auto-imports
Components, composables, and utils auto-imported — no import statements cluttering your files.
Nitro server engine
API routes, server middleware, and edge-compatible deployments via Nitro's universal runtime.
Hybrid rendering
Per-route rendering: SSR, SSG, ISR, or SPA — mix modes in a single application.
Nuxt Content
Markdown and MDX-powered content with a queryable API — perfect for docs and blogs.
Universal deployment
Deploy to Vercel, Cloudflare, Node, or static hosting with adapter-agnostic output.
Why it's hard
Auto-import magic vs. explicitness
Nuxt auto-imports components, composables, and utilities, which speeds development but can confuse teams about where things come from. IDE support helps, but the implicit nature divides opinions.
Module ecosystem quality variance
Nuxt's module ecosystem is large but varies in quality — some modules are well-maintained, others are abandoned or incompatible with Nuxt 3. Evaluating module reliability requires due diligence.
Nitro server configuration
Nitro's universal runtime is powerful but configuring it for specific deployment targets, managing server middleware, and handling edge function limitations requires deep understanding.
Nuxt 2 to Nuxt 3 migration
Migrating from Nuxt 2 (Options API, Vuex, webpack) to Nuxt 3 (Composition API, Pinia, Vite, Nitro) is a substantial rewrite — not an incremental upgrade.
Best practices
Embrace the conventions
Nuxt's file-based routing, auto-imports, and directory structure exist to reduce decisions. Fight them less, ship more. Customize when needed, but start with the defaults.
Use hybrid rendering strategically
Configure rendering per route — SSG for marketing pages, SSR for dynamic content, SPA for authenticated dashboards. Nuxt's routeRules make this a one-liner per pattern.
Write server routes in /server/api
Nuxt's Nitro-powered server routes handle API endpoints, webhooks, and server-side logic. Keep your backend code colocated with your frontend for simpler deployments.
Use useFetch and useAsyncData for data loading
Nuxt's built-in data fetching composables handle SSR, caching, and hydration automatically. Avoid raw fetch() in components — useFetch gives you error handling and loading states for free.
Useful resources
Frequently asked questions
Related technologies
Related services
Looking for end-to-end delivery? These services complement Nuxt projects.
Want to build with Nuxt?
Talk to our engineering team about your Nuxt architecture. We'll respond within 24 hours.
We limit intake each month so every project gets the focus it deserves.