Open3

laravel vue 環境でSSRしたい

ピン留めされたアイテム
yama202yama202

やりたいこと

vueで共通コンポーネントを作りたい。
実現するためにはSEO対応をするためにvueをSSRする必要がある。
できる限り導入コストを減らしたいし、既存の構成を活かして部分的にvueを使うっていう形は変えない

yama202yama202

方法

inertia.js

https://inertiajs.com/
https://kinsta.com/jp/blog/laravel-inertia/

  • laravelのドキュメントでinertia.jsについて触れているから知名度は高そう
    • inertia.jsは公式にlaravelをサポートしている
  • target層にバキバキに当てはまってる
  • nuxtに比べ導入が容易そう
    • APIの実装をする必要がないっていうレベル感なきがする
  • SPA前提な気がするから現環境のやり方でうまくいくかは要調査
    • SPA前提だったら全ページリプレースになってしまうのでは
  • バックエンドにもinertiaを入れる必要がある
    • バックエンドの説得大変そう

nuxt

https://nuxt.com/

  • 完全にリプレースになる説
  • バックエンドめっちゃ巻き込む
    • API形式にしてね。ルーティングも変わるわよ
  • nuxtblade読み込みやるくらいだったらこっちのほうがいいとは思う
  • パフォーマンスは上がりそう
  • 導入コスト隆

nuxt(bladeで読み込み)

https://qiita.com/ProjectEuropa/items/384ecb70835f61f52c58

  • 意味わからん

laravel-server-side-rendering

https://github.com/spatie/laravel-server-side-rendering

  • 雰囲気一番現実味ありそう
  • vueの呼び方変えるだけで終わりそう

server-renderer

https://www.npmjs.com/package/@vue/server-renderer

  • vue3.2.13以上の組み込みライブラリらしい
  • え普通にSSRできんのか?
yama202yama202

疑問

  • vueをSSRできたとしても、bladeで部分的にvueを使うという形を変えなかったらインスタンス爆増するのでは
    • というかSSRってインスタンスの概念あるんか
  • プリレンダリングできないのか
  • そもそもSPAでSEOは本当にロスするのか
  • reactチームはどうしてんの