← All open source projects

Nuxt

nuxt/nuxt

Nuxt is a Vue framework for full web sites and applications with server rendering, routing, and modules.

Forks 5,676
Author nuxt
Language TypeScript
License MIT
Synced 2026-06-27

What it is

Nuxt is a Vue framework for building sites and applications. It adds routing, server rendering, static generation, data loading, modules, and project structure.

It helps when Vue alone is not enough: teams need pages, SEO, server handlers, build setup, file conventions, and application architecture.

How the approach works

Nuxt is built around conventions: pages live in `pages`, components can auto-import, data can be fetched through composables, and modules extend the project.

Multiple rendering modes matter for products: some pages can be static, others server-rendered, and others hybrid.

Nuxt page

This example shows a normal Vue SFC in Nuxt: data loads through a composable and the template stays compact.

Language: Vue
<script setup>
const { data: projects } = await useFetch("/api/projects")
</script>

<template>
  <main>
    <h1>Open Source</h1>
    <article v-for="project in projects" :key="project.slug">
      {{ project.name }}
    </article>
  </main>
</template>

What is inside

The repository contains the Nuxt core, packages, examples, module system, server pieces, and developer tools. It is a platform around Vue, not a thin wrapper.

Nuxt is strongest when Vue teams want to move from components to a full site with routing, metadata, server capabilities, and structure.

Practical context

With Nuxt, an important architectural choice happens per page: what should be static, server-rendered, or client-driven. That affects speed, caching, and SEO.

Strengths and limits

The main strength is ready architecture for Vue projects. Many decisions are already made.

The limit is convention fit. Projects with completely custom server architecture or no Vue may not need Nuxt.