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
360
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nuxt Server Components
v-tokyo #24
wattanx
March 24, 2026
More Decks by wattanx
See All by wattanx
フロントエンド技術選定の裏側
wattanx
1
120
Unlocking the potential of Nuxt Server Components
wattanx
2
740
Deep dive into Nuxt Server Components
wattanx
1
4k
Nuxt Test Utils で始める効率的な Nuxt アプリケーションのテスト
wattanx
4
4.3k
Demystifying Nuxt Bridge
wattanx
3
7.6k
小さく進める Nuxt 3 移行
wattanx
0
2.1k
プロダクト開発を止めずに Composition API と TypeScript に 最速で移行するための戦い
wattanx
0
2.4k
Other Decks in Programming
See All in Programming
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
550
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
Lessons from Spec-Driven Development
simas
PRO
0
200
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
770
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
320
3Dシーンの圧縮
fadis
1
770
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
Inside Stream API
skrb
1
710
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
260
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Skip the Path - Find Your Career Trail
mkilby
1
150
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Google's AI Overviews - The New Search
badams
0
1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
The Curse of the Amulet
leimatthew05
1
13k
Being A Developer After 40
akosma
91
590k
Fireside Chat
paigeccino
42
3.9k
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/