Nuxt.js is a full-stack meta-framework built on top of Vue, developed by NuxtLabs and an active open-source community. It ranks around #23 (tied) among web frameworks at roughly 4% usage share, and is widely considered Vue's answer to Next.js. It adds server-side rendering, file-based routing, and auto-imports on top of plain Vue, which is why it's become the standard way to build a production-grade Vue application rather than hand-wiring a Vue app yourself.
Nuxt uses file-based routing: any file placed in pages/ automatically becomes a route, using the Vue Composition API.
<!-- pages/index.vue -->
<template>
<div>
<h1>{{ title }}</h1>
<button @click="count++">Clicked {{ count }} times</button>
</div>
</template>
<script setup>
const title = ref('Welcome to Nuxt')
const count = ref(0)
</script>
Scaffold a new Nuxt project with the official CLI, which sets up routing, config, and dev server out of the box.
# create a new Nuxt project
npx nuxi@latest init my-app
cd my-app
npm install
npm run dev