
Nuxt4 Patterns
- 5k installs
- 238k repo stars
- Updated August 5, 2026
- affaan-m/everything-claude-code
nuxt4-patterns is an agent skill for Nuxt 4 hydration safety, SSR data fetching, routeRules, and lazy performance patterns.
About
The nuxt4-patterns skill documents Nuxt 4 app patterns for SSR, hybrid rendering, route rules, and page-level data fetching. Hydration safety requires deterministic first renders without Date.now, Math.random, browser-only APIs, or storage reads in SSR templates. Browser logic belongs in onMounted, import.meta.client, ClientOnly, or .client.vue components. Data fetching prefers await useFetch for SSR-safe reads that hydrate from the Nuxt payload, useAsyncData with stable keys for composed sources, and lazy true or useLazyFetch for non-blocking secondary data with server false only when SEO irrelevant. Route rules in nuxt.config.ts configure prerender, swr, isr, ssr false, cache, and redirect per route group. Performance guidance uses Lazy component prefix with v-if gating, hydrate-on-visible, defineLazyHydrationComponent strategies, and NuxtLink for internal navigation prefetch. Review checklist verifies matching SSR and client markup, no top-level $fetch for page data, lazy loading UI for non-critical data, aligned route rules, and deferred hydration for heavy islands.
- Hydration rules ban Date.now, Math.random, and browser APIs in SSR-rendered templates.
- Prefers useFetch and useAsyncData over top-level $fetch for SSR-hydrated page data.
- Documents routeRules for prerender, swr, isr, ssr false, cache, and redirect strategies.
- Covers Lazy prefix components, hydrate-on-visible, and defineLazyHydrationComponent patterns.
- Review checklist validates markup parity, data fetching, route rules, and lazy hydration.
Nuxt4 Patterns by the numbers
- 4,965 all-time installs (skills.sh)
- +249 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #105 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
nuxt4-patterns capabilities & compatibility
- Capabilities
- hydration mismatch prevention patterns · usefetch and useasyncdata ssr guidance · routerules caching strategy configuration · lazy component and deferred hydration patterns · nuxt 4 review checklist for data and routes
- Works with
- vercel
- Use cases
- frontend · web design · debugging
npx skills add https://github.com/affaan-m/everything-claude-code --skill nuxt4-patternsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 5k |
|---|---|
| repo stars | ★ 238k |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 5, 2026 |
| Repository | affaan-m/everything-claude-code ↗ |
How do I fix Nuxt 4 hydration mismatches and choose correct SSR data fetching and route caching?
Fix Nuxt 4 hydration mismatches, SSR-safe data fetching, routeRules caching, and lazy hydration performance patterns.
Who is it for?
Frontend developers building or debugging Nuxt 4 apps with SSR, ISR, SWR, or hybrid rendering.
Skip if: Skip when you use non-Nuxt frameworks; this skill is Nuxt 4 specific pattern guidance.
When should I use this skill?
User hits hydration mismatches, routeRules decisions, useFetch issues, or Nuxt lazy hydration work.
What you get
Deterministic SSR renders with useFetch or useAsyncData, aligned routeRules, and lazy-loaded interactive islands.
- Hydration-safe page patterns
- routeRules configuration
- SSR data fetching implementation
By the numbers
- routeRules prerender swr isr documented
- Lazy prefix deferred hydration pattern
- useFetch preferred over top-level $fetch
Files
Nuxt 4パターン
SSR、ハイブリッドレンダリング、ルートルール、またはページレベルのデータフェッチングを使用してNuxt 4アプリを構築またはデバッグするときに使用する。
アクティベートするタイミング
- サーバーHTMLとクライアントの状態の間のハイドレーション不一致
- プリレンダリング、SWR、ISR、またはクライアントのみのセクションなどのルートレベルのレンダリング決定
- 遅延ロード、遅延ハイドレーション、またはペイロードサイズに関するパフォーマンス作業
useFetch、useAsyncData、または$fetchを使ったページやコンポーネントのデータフェッチング- ルートパラメータ、ミドルウェア、またはSSR/クライアントの差異に結びついたNuxtルーティングの問題
ハイドレーション安全性
- 最初のレンダリングを決定論的に保つ。SSRレンダリングされたテンプレートの状態に
Date.now()、Math.random()、ブラウザのみのAPI、またはストレージ読み取りを直接入れないこと。 - サーバーが同じマークアップを生成できない場合、ブラウザのみのロジックを
onMounted()、import.meta.client、ClientOnly、または.client.vueコンポーネントの後ろに移動する。 vue-routerのものではなく、NuxtのuseRoute()コンポーザブルを使用する。- SSRレンダリングされたマークアップを駆動するために
route.fullPathを使用しない。URLフラグメントはクライアントのみであり、ハイドレーション不一致を引き起こす可能性がある。 ssr: falseは不一致のデフォルト修正としてではなく、真にブラウザのみの領域のエスケープハッチとして扱う。
データフェッチング
- ページとコンポーネントでSSR安全なAPI読み取りには
await useFetch()を優先する。サーバーでフェッチしたデータをNuxtペイロードに転送し、ハイドレーション時の2回目のフェッチを避ける。 - フェッチャーが単純な
$fetch()呼び出しでない場合、カスタムキーが必要な場合、または複数の非同期ソースを構成する場合はuseAsyncData()を使用する。 useAsyncData()にキャッシュの再利用と予測可能なリフレッシュ動作のための安定したキーを提供する。useAsyncData()ハンドラを副作用なしに保つ。SSRとハイドレーション中に実行される可能性がある。$fetch()はユーザーによるトリガーの書き込みまたはクライアントのみのアクションに使用し、SSRからハイドレートされるべきトップレベルのページデータには使用しない。- ナビゲーションをブロックすべきでない非重要データには
lazy: true、useLazyFetch()、またはuseLazyAsyncData()を使用する。UIでstatus === 'pending'を処理する。 server: falseはSEOや最初のペイントに不要なデータのみに使用する。pickでペイロードサイズを削減し、深いリアクティビティが不要な場合はより浅いペイロードを優先する。
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,
})ルートルール
レンダリングとキャッシング戦略にはnuxt.config.tsのrouteRulesを優先する:
export default defineNuxtConfig({
routeRules: {
'/': { prerender: true },
'/products/**': { swr: 3600 },
'/blog/**': { isr: true },
'/admin/**': { ssr: false },
'/api/**': { cache: { maxAge: 60 * 60 } },
},
})prerender: ビルド時の静的HTMLswr: キャッシュされたコンテンツを提供しながらバックグラウンドで再検証isr: サポートされているプラットフォームでの増分静的再生成ssr: false: クライアントレンダリングルートcacheまたはredirect: Nitroレベルのレスポンス動作
グローバルではなくルートグループごとにルートルールを選択する。マーケティングページ、カタログ、ダッシュボード、APIは通常異なる戦略が必要。
遅延ロードとパフォーマンス
- Nuxtはすでにルートでページをコード分割している。コンポーネント分割を微小最適化する前に、ルートの境界を意味のあるものに保つ。
- 非重要コンポーネントを動的にインポートするには
Lazyプレフィックスを使用する。 - UIが実際に必要になるまでチャンクが読み込まれないよう、
v-ifで遅延コンポーネントを条件付きでレンダリングする。 - フォールドより下または非重要なインタラクティブUIには遅延ハイドレーションを使用する。
<template>
<LazyRecommendations v-if="showRecommendations" />
<LazyProductGallery hydrate-on-visible />
</template>- カスタム戦略には、可視性またはアイドル戦略で
defineLazyHydrationComponent()を使用する。 - Nuxtの遅延ハイドレーションは単一ファイルコンポーネントで機能する。遅延ハイドレーションコンポーネントに新しいpropsを渡すと、すぐにハイドレーションがトリガーされる。
- Nuxtがルートコンポーネントと生成されたペイロードをプリフェッチできるよう、内部ナビゲーションには
NuxtLinkを使用する。
レビューチェックリスト
- 最初のSSRレンダリングとハイドレートされたクライアントレンダリングが同じマークアップを生成する
- ページデータがトップレベルの
$fetchではなくuseFetchまたはuseAsyncDataを使用している - 非重要なデータが遅延で明示的なローディングUIがある
- ルートルールがページのSEOと新鮮度要件に一致している
- 重いインタラクティブアイランドが遅延ロードまたは遅延ハイドレートされている
Related skills
Forks & variants (1)
Nuxt4 Patterns has 1 known copy in the catalog totaling 1.4k installs. They canonicalize to this original listing.
- affaan-m - 1.4k installs
How it compares
nuxt4-patterns is an agent skill for Nuxt 4 hydration safety, SSR data fetching, routeRules, and lazy performance patterns, not a generic alternative.
FAQ
Who is nuxt4-patterns for?
Frontend developers implementing or debugging Nuxt 4 SSR, routing, and data fetching patterns.
When should I use nuxt4-patterns?
When fixing hydration errors, configuring routeRules, or optimizing lazy load and data fetch behavior.
Is nuxt4-patterns safe to install?
Review the Security Audits panel on this page before installing in production.