Communitygithub.com

Nuxt 4 Patterns

Nuxt 4 App Patterns für Hydration-Sicherheit, Performance, Route-Regeln, Lazy Loading und SSR-sicheres Datenabrufen mit useFetch und useAsyncData. Verwenden Sie dies beim Erstellen oder Überprüfen einer Nuxt 4-App oder beim Debuggen von Hydrationskonflikten und SSR-sicherem Datenabruf.

Was ist Nuxt 4 Patterns?

Diese Skill-Anleitung bietet ein umfassendes Set an Best Practices und Mustern speziell für Nuxt 4 Anwendungen. Sie deckt kritische Bereiche ab: Hydration-Sicherheit zur Vermeidung von Konflikten zwischen serverseitigem HTML und clientseitigem Zustand, effizientes Datenabrufen mit `useFetch`, `useAsyncData` und `$fetch` unter Berücksichtigung von SSR, sowie die Konfiguration von Route-Regeln (prerender, SWR, ISR, client-only) für Rendering- und Caching-Strategien. Zudem behandelt die Anleitung Lazy Loading und Lazy Hydration zur Leistungsoptimierung, inklusive der Verwendung von `Lazy`-Komponenten, `v-if` für bedingtes Laden und `defineLazyHydrationComponent()`. Ein abschließender Review-Checkliste hilft, typische Fehler wie Hydrationskonflikte, falsches Datenabrufen oder fehlende Ladezustände zu vermeiden. Die Skill ist plattformunabhängig und kann in jeder Entwicklungsumgebung eingesetzt werden, die Nuxt 4 unterstützt (z.B. VS Code, Cursor, WebStorm).

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/nuxt4-patterns

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Nuxt 4 Patterns?

Verwenden Sie diese Anleitung beim Erstellen oder Debuggen von Nuxt 4 Apps mit SSR, Hybrid-Rendering, Route-Regeln oder Page-Level-Datenabruf.

Wann aktivieren

  • Hydrationskonflikte zwischen Server-HTML und Client-Zustand
  • Route-Level-Rendering-Entscheidungen wie Prerender, SWR, ISR oder Client-Only-Bereiche
  • Performance-Arbeiten rund um Lazy Loading, Lazy Hydration oder Payload-Größe
  • Page- oder Component-Datenabruf mit useFetch, useAsyncData oder $fetch
  • Nuxt Routing-Probleme im Zusammenhang mit Routenparametern, Middleware oder SSR/Client-Unterschieden

Hydration-Sicherheit

  • Halten Sie den ersten Render deterministisch. Platzieren Sie Date.now(), Math.random(), Browser-Only-APIs oder Storage-Lesevorgänge nicht direkt in den SSR-gerenderten Template-Status.
  • Verlagern Sie Browser-Only-Logik hinter onMounted(), import.meta.client, ClientOnly oder eine .client.vue Komponente, wenn der Server nicht das gleiche Markup erzeugen kann.
  • Verwenden Sie das Nuxt-eigene useRoute() Composable, nicht das aus vue-router.
  • Verwenden Sie nicht route.fullPath, um SSR-gerendertes Markup zu steuern. URL-Fragmente sind Client-Only und können Hydrationskonflikte erzeugen.
  • Behandeln Sie ssr: false als Notausstieg für wirklich Browser-Only-Bereiche, nicht als Standardlösung für Konflikte.

Datenabruf

  • Bevorzugen Sie await useFetch() für SSR-sichere API-Aufrufe in Pages und Komponenten. Es leitet serverseitig abgerufene Daten in das Nuxt-Payload weiter und vermeidet einen zweiten Fetch beim Hydratieren.
  • Verwenden Sie useAsyncData(), wenn der Fetcher kein einfacher $fetch()-Aufruf ist, wenn Sie einen benutzerdefinierten Schlüssel benötigen oder wenn Sie mehrere asynchrone Quellen kombinieren.
  • Geben Sie useAsyncData() einen stabilen Schlüssel für die Wiederverwendung des Caches und ein vorhersagbares Aktualisierungsverhalten.
  • Halten Sie Handler von useAsyncData() frei von Seiteneffekten. Sie können während SSR und Hydration ausgeführt werden.
  • Verwenden Sie $fetch() für benutzerinitiierte Schreibvorgänge oder Client-Only-Aktionen, nicht für Page-Daten auf oberster Ebene, die aus SSR hydriert werden sollen.
  • Verwenden Sie lazy: true, useLazyFetch() oder useLazyAsyncData() für nicht-kritische Daten, die die Navigation nicht blockieren sollen. Behandeln Sie status === 'pending' in der UI.
  • Verwenden Sie server: false nur für Daten, die nicht für SEO oder den ersten Paint benötigt werden.
  • Reduzieren Sie die Payload-Größe mit pick und bevorzugen Sie flachere Payloads, wenn keine tiefe Reaktivität erforderlich ist.
const route = useRoute()

const { data: article, status, error, refresh } = await useAsyncData(
  () => `article:${route.params.slug}`,
  () => $fetch(`/api/articles/${route.params.slug}`),
)

const { data: comments } = await useFetch(`/api/articles/${route.params.slug}/comments`, {
  lazy: true,
  server: false,
})

Route-Regeln

Bevorzugen Sie routeRules in nuxt.config.ts für Render- und Caching-Strategien:

export default defineNuxtConfig({
  routeRules: {
    '/': { prerender: true },
    '/products/**': { swr: 3600 },
    '/blog/**': { isr: true },
    '/admin/**': { ssr: false },
    '/api/**': { cache: { maxAge: 60 * 60 } },
  },
})
  • prerender: statisches HTML zur Build-Zeit
  • swr: bereitgestellter Cache-Inhalt und erneute Validierung im Hintergrund
  • isr: inkrementelle statische Regeneration auf unterstützten Plattformen
  • ssr: false: clientseitig gerenderte Route
  • cache oder redirect: Nitro-Level-Antwortverhalten

Wählen Sie Route-Regeln pro Routengruppe, nicht global. Marketingseiten, Kataloge, Dashboards und APIs benötigen in der Regel unterschiedliche Strategien.

Lazy Loading und Performance

  • Nuxt teilt Seiten bereits automatisch nach Routen auf. Halten Sie Routengrenzen sinnvoll, bevor Sie Mikrooptimierungen an Komponenten-Aufteilungen vornehmen.
  • Verwenden Sie das Lazy-Präfix, um nicht-kritische Komponenten dynamisch zu importieren.
  • Rendern Sie Lazy-Komponenten bedingt mit v-if, sodass der Chunk erst geladen wird, wenn die UI ihn tatsächlich benötigt.
  • Verwenden Sie Lazy Hydration für Under-the-fold- oder nicht-kritische interaktive UI.
<template>
  <LazyRecommendations v-if="showRecommendations" />
  <LazyProductGallery hydrate-on-visible />
</template>
  • Verwenden Sie für benutzerdefinierte Strategien defineLazyHydrationComponent() mit einer Sichtbarkeits- oder Idle-Strategie.
  • Nuxt Lazy Hydration arbeitet mit Einzeldatei-Komponenten. Das Übergeben neuer Props an eine lazy hydrierte Komponente löst sofort eine Hydration aus.
  • Verwenden Sie NuxtLink für die interne Navigation, damit Nuxt Routenkomponenten und generierte Payloads vorab laden kann.

Review-Checkliste

  • Der erste SSR-Render und der hydrierte Client-Render erzeugen das gleiche Markup
  • Page-Daten verwenden useFetch oder useAsyncData, kein $fetch auf oberster Ebene
  • Nicht-kritische Daten sind lazy und haben eine explizite Lade-UI
  • Route-Regeln entsprechen den SEO- und Aktualitätsanforderungen der Seite
  • Schwere interaktive Bereiche sind lazy-geladen oder lazy-hydriert

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Verwandte Skills