Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nuxt Server Components
Search
wattanx
March 24, 2026
Programming
240
0
Share
Nuxt Server Components
v-tokyo #24
wattanx
March 24, 2026
More Decks by wattanx
See All by wattanx
フロントエンド技術選定の裏側
wattanx
1
110
Unlocking the potential of Nuxt Server Components
wattanx
2
700
Deep dive into Nuxt Server Components
wattanx
1
3.9k
Nuxt Test Utils で始める効率的な Nuxt アプリケーションのテスト
wattanx
4
4.2k
Demystifying Nuxt Bridge
wattanx
3
7.5k
小さく進める Nuxt 3 移行
wattanx
0
2.1k
プロダクト開発を止めずに Composition API と TypeScript に 最速で移行するための戦い
wattanx
0
2.3k
Other Decks in Programming
See All in Programming
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
950
Java 21/25 Virtual Threads 소개
debop
0
320
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
370
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
150
Feature Toggle は捨てやすく使おう
gennei
0
410
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
220
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
500
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
170
AIエージェントで業務改善してみた
taku271
0
380
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.5k
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
140
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
330
Between Models and Reality
mayunak
3
260
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
We Have a Design System, Now What?
morganepeng
55
8.1k
Design in an AI World
tapps
0
190
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
110
New Earth Scene 8
popppiees
2
2k
A better future with KSS
kneath
240
18k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Transcript
Nuxt Server Components v-tokyo#24, wattanx
wattanx STORES Design Engineer / Nuxt Ecosystem Team
What’s Nuxt Server Components?
experimental 個々のコンポーネントをサーバーで レンダリングできる Nuxt 3 から導入された機能
Server でだけ実行される Hydration されないので Client bundle に不要な JS が含まれない
Server が必須ではない ビルド時にアプリケーションで利用される Server Component を プリレンダリングする 完全に静的なサイトであっても利用可能
Astro Client Islands の逆 Nuxt Server Components は Interactive じゃない島をつくる
.server.vue にすると Server Component に Server でしか使えないコードが書ける client bundle に含まれない
Client Interactivity with Server Components Server Components の Slot にいれると
interactive にできる (Hydration できる)
Partial Hydration nuxt-client ディレクティブを使うことで 一部だけ Hydration できる
Lazy Server Components レンダリング完了するまで fallback slot が表示 されるのでナビゲーションをブロックしない
How it works
/__nuxt_island/{component_name}.json へ リクエストするとコンポーネントがレンダリングされる
CSR の場合 Browser Server URL にアクセス 空の HTML を返す GET
/__nuxt_island/{component_name}.json Vue App を Mount Server Component Rendering レンダリング HTML 生成
SSR の場合 Browser Server URL にアクセス Server-Side Rendering 開始 Server
Component Rendering /__nuxt_island/ へのリクエストはせず 直接レンダリング処理を実行できる HTML 生成 レンダリング Hydration Server Component は Hydration されない
Server Components のレンダリング処理が複雑 https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-island.ts#L298-L355
vue-onigiri 🍙 https://github.com/huang-julien/vue-onigiri Vue Component Tree を serialize/deserialize して Vue
Server Component を実現 複雑になった Server Component のレンダリング 処理を改善するため
vue-onigiri を使うと これだけのコードになるかも
When to use Nuxt Server Components?
ブログ 基本的に interactive な要素が少ないので
ネットショップが向いてるかも
ネットショップが向いてるかも ナビゲーション 商品の説明 特定ユーザーだけの割引 ユーザーごとのおすすめ
ネットショップが向いてるかも ナビゲーション 商品の説明 特定ユーザーだけの割引 ユーザーごとのおすすめ Static(prerendering) Server Component
Other frameworks
Astro Server Islands https://docs.astro.build/ja/guides/server-islands/ Server でだけレンダリングされる コンポーネントを作れる Server-Side でのみ実行される レンダリング完了するまで
fallback slot が 表示される
まとめ
まとめ 個々のコンポーネントをサーバーで レンダリングできる
まとめ https://commerce-nuxt-sc.wattanx.workers.dev/