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
SSR+SPA
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sigma
October 10, 2022
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SSR+SPA
Sigma
October 10, 2022
More Decks by Sigma
See All by Sigma
Proxmox_VE.pdf
seiyasugimoto
0
230
Stable Diffusionで遊んでみた
seiyasugimoto
1
150
EVAフレームワーク
seiyasugimoto
0
120
Nuxtにおける設計
seiyasugimoto
0
110
Atomic Designを ディレクトリ以外で表現
seiyasugimoto
0
94
throttleすげぇぇぇ
seiyasugimoto
0
87
スマホでPythonしたい
seiyasugimoto
0
76
平文で保存するな!
seiyasugimoto
0
99
ソースコードを読もう
seiyasugimoto
0
100
Other Decks in Programming
See All in Programming
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
430
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
220
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
180
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
440
typoなんかねぇよ
raspython3
0
580
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
380
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
100
メールのエイリアス機能を履き違えない
isshinfunada
0
260
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
150
Cloudflare is Agents
chimame
0
180
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
1
710
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
450
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
290
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
650
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
630
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
500
From π to Pie charts
rasagy
0
330
Exploring anti-patterns in Rails
aemeredith
3
470
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Transcript
SSR+SPA Nuxt+Vuex
SSR(+SPA) とは • SSR とは ◦ サーバーサイドレンダリングの略。 クライアントサイド(SPA)と サーバーサイ ドの
HTMLレンダリングを 併用しユーザー体験を向 上させることを指す。
冷静に考えるととんでもないことをやってる • サービス内の別のページからリンクすると クライアントサイドで レンダリングされる。 • そのページをF5を押して再読み込みすると サーバーサイドでレ ンダリングされる …
は?
なんでそんなクソ面倒くさいことを? • サーバーサイドでレンダリングするならテンプレートエンジンを使った昔ながらの 方法でやれば良いじゃない。 • SPAが必要なほど複雑なフロントエンドで、OGPのクローラの面倒を見たりSNS でシェアされた際のファーストビューの速さが問題になる要件そうそう無いで しょ。 つい先日あった
Nuxtで対応 • NuxtにはSSRサポートがある これで勝つる わけなかった
案件当時の標準的なNuxtプロジェクト • Nuxt + TypeScript を実現するために外部ライブラリを使う ◦ nuxt-property-decorator ( vue-property-decorator
) ◦ vuex-module-decorator • vuex-module-decorator の issue にとんでもないコメントを見つけてしまう。 ◦ https://github.com/championswimmer/vuex-module-decorators/issues/146#issuecomm ent-515269904
SSRのバグのソリューションを探った 結果、getModule() に根深い問題が ありそう。 このリポジトリは大規 模なオーバーホール 無しではSSRでは使 えない。
終わった……
None
Readmeに書いてある おまじないの意味を知る
exportしてるpluginsがキモ getModule()しているのがポイント
I GOT KOTONAKI……