Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Nuxt Server Components
Search
wattanx
March 24, 2026
Programming
570
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
Transcript
28 slides
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/
More Decks by wattanx
See All by wattanx
フロントエンド技術選定の裏側
wattanx
1
140
Unlocking the potential of Nuxt Server Components
wattanx
2
820
Deep dive into Nuxt Server Components
wattanx
1
4.2k
Nuxt Test Utils で始める効率的な Nuxt アプリケーションのテスト
wattanx
4
4.4k
Demystifying Nuxt Bridge
wattanx
3
7.9k
小さく進める Nuxt 3 移行
wattanx
0
2.1k
プロダクト開発を止めずに Composition API と TypeScript に 最速で移行するための戦い
wattanx
0
2.5k
Other Decks in Programming
See All in Programming
止まらない比較を止める — 余帰納法で無限ストリームを比べる
tarao
0
150
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
210
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
250
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.7k
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
310
Modernizing iOS Apps
seyfoyun
0
150
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.1k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
4.4k
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
260
Featured
See All Featured
Abbi's Birthday
coloredviolet
5
11k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
The Invisible Side of Design
smashingmag
301
52k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
580
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Claude Code のすすめ
schroneko
67
230k
The Cost Of JavaScript in 2023
addyosmani
56
10k