Learn Nuxt.js: The Vue Meta-Framework

NuxtVueApr 4, 2026

Nuxt is to Vue what Next.js is to React: a full framework that takes care of routing, SSR, data fetching, and a thousand other details so you can focus on the app.

1. File-Based Routing

Drop a .vue file in pages/ — that's a route.

text
pages/
  index.vue           -> /
  about.vue           -> /about
  blog/index.vue      -> /blog
  blog/[slug].vue     -> /blog/:slug

2. Auto Imports

Components in components/ and composables in composables/ are imported automatically. So are Vue's reactive APIs (ref, computed, etc).

3. Data Fetching

Use useFetch or useAsyncData. They run on the server during SSR and hydrate on the client.

vue
<script setup>
const { data: posts } = await useFetch('/api/posts')
</script>

<template>
  <ul>
    <li v-for="post in posts" :key="post.id">{{ post.title }}</li>
  </ul>
</template>

4. Server Routes

Need a backend? Drop a file in server/api/.

typescript
// server/api/posts.get.ts
export default defineEventHandler(async () => {
  return [{ id: 1, title: 'Hello Nuxt' }]
})

Summary

Nuxt removes the boilerplate from Vue apps. Pages, layouts, server routes, SSR — all configured for you. Start with npx nuxi init and build something.