Перейти к содержимому

Nuxt 3: Обзор

Добро пожаловать в мир Nuxt 3 — мощного мета-фреймворка поверх Vue 3, который превращает разработку современных веб-приложений в удовольствие! Забудь о бесконечных настройках — Nuxt делает всё за тебя.


Nuxt 3 — это не просто обёртка над Vue. Это полноценная платформа для создания:

  • 🌐 SSR-приложений — рендеринг на сервере для SEO и быстрой загрузки
  • SSG-сайтов — статические страницы с мгновенной загрузкой
  • 🏝️ SPA — классические одностраничные приложения
  • 🔄 Гибридных — разные страницы с разными режимами рендеринга

Ключевые суперсилы Nuxt 3:

ВозможностьОписание
🤖 Авто-импортКомпоненты, composables, utils — всё импортируется автоматически
📂 Файловая маршрутизацияpages/about.vue → маршрут /about
🖥️ Nitro серверВстроенный универсальный сервер для API
🎯 Нулевой конфигРаботает из коробки, настраивается постепенно
🔷 TypeScriptПолная поддержка из коробки
🧩 МодулиЭкосистема из 200+ готовых модулей

┌─────────────────────────────────────────┐
│ Nuxt 3 App │
│ │
│ ┌──────────┐ ┌──────────────────┐ │
│ │ Vue 3 │ │ Nitro Server │ │
│ │ (Client) │ │ (Server/API) │ │
│ └────┬─────┘ └────────┬─────────┘ │
│ │ │ │
│ ┌────▼─────────────────▼─────────┐ │
│ │ Vite / Rollup │ │
│ │ (Build & Dev Server) │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ UnJS Ecosystem │ │
│ │ H3 • ofetch • defu • pathe │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────┘

Nuxt 3 построен на UnJS — коллекции универсальных JavaScript утилит:

  • H3 — минимальный HTTP-фреймворк (основа Nitro)
  • ofetch — улучшенный fetch с интерцепторами
  • defu — глубокое слияние объектов с дефолтами
  • pathe — кросс-платформенные пути
  • ufo — утилиты для URL
  • consola — красивое логирование
  • jiti — рантайм TypeScript/ESM

Одна из главных фич Nuxt — автоматический импорт:

<!-- components/MyButton.vue существует -->
<template>
<!-- Использую без импорта! -->
<MyButton>Нажми меня</MyButton>
</template>
<script setup>
// Не нужно: import { ref } from 'vue'
// Не нужно: import { useRoute } from '#imports'
const route = useRoute()
const count = ref(0)
</script>

Nuxt авто-импортирует:

  • Все компоненты из components/
  • Все composables из composables/
  • Все Vue 3 API (ref, computed, watch…)
  • Nuxt composables (useFetch, useRoute, useState…)

nuxt.config.ts
export default defineNuxtConfig({
routeRules: {
'/': { prerender: true }, // SSG
'/blog/**': { isr: 3600 }, // ISR (каждый час)
'/app/**': { ssr: false }, // SPA
'/api/**': { cors: true }, // API с CORS
}
})

УрокТемаСложность
1introductionЧто такое Nuxt 3, архитектура, UnJS🟢 Начало
2setupУстановка, структура проекта🟢 Начало
3file-routingФайловая маршрутизация, динамические роуты🟢 Начало
4layoutsLayouts, NuxtLayout, именованные слоты🟡 Средне
5componentsАвто-импорт компонентов, Lazy, глобальные🟡 Средне
6composablesComposables, useState, useNuxtApp🟡 Средне
7data-fetchinguseFetch, useAsyncData, $fetch🟡 Средне
8server-routesServer API, H3, defineEventHandler🟡 Средне
9server-middlewareServer Middleware, CORS, логирование🔴 Продвинуто
10state-managementuseState, Pinia в Nuxt🟡 Средне
11metadata-seouseSeoMeta, useHead, Open Graph🟡 Средне
12rendering-modesSSR/SSG/SPA/ISR, routeRules🔴 Продвинуто
13pluginsПлагины, $пространство имён🔴 Продвинуто
14modulesNuxt модули, создание своих🔴 Продвинуто
15middlewareRoute middleware, глобальный/именованный🟡 Средне
16error-handlingcreateError, showError, error.vue🟡 Средне
17authenticationAuth, cookies, сессии🔴 Продвинуто
18content-module@nuxt/content, MDX, query🟡 Средне
19image-module@nuxt/image, оптимизация🟢 Начало
20i18nИнтернационализация, @nuxtjs/i18n🟡 Средне
21testingVitest, @nuxt/test-utils, E2E🔴 Продвинуто
22performanceLazy hydration, Islands, оптимизация🔴 Продвинуто
23deploymentVercel, Netlify, Docker, Node.js🟡 Средне
24nuxt-vs-nextjsСравнение Nuxt и Next.js🟢 Начало
25nuxt4-featuresNuxt 4: новые возможности🔴 Продвинуто

Окно терминала
npx nuxi@latest init my-nuxt-app
# Переходим в папку
cd my-nuxt-app
# Устанавливаем зависимости
npm install
# Запускаем dev-сервер
npm run dev

Уже на http://localhost:3000 — работающее Nuxt приложение!


@nuxt/content — работа с markdown/MDX контентом
@nuxt/image — оптимизация изображений
@nuxt/icon — иконки из 200,000+ коллекций
@nuxt/ui — UI компоненты (Tailwind-based)
@nuxt/fonts — автоматические веб-шрифты
@pinia/nuxt — Pinia state management
@nuxtjs/i18n — интернационализация
@nuxtjs/sitemap — автоматическая карта сайта
@nuxtjs/robots — robots.txt
nuxt-auth-utils — аутентификация

Готов погружаться? Начни с урока Что такое Nuxt 3 и шаг за шагом освой самый мощный Vue-фреймворк! 💚