Search

Search pages, services, tech stack, and blog posts

Nuxt

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

bash
npx nuxi@latest init my-app
cd my-app
npm install
npm run dev

Read 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.

Frequently asked questions




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.

1 spot available in May 2026Apr 2026 fully booked

We limit intake each month so every project gets the focus it deserves.