Nuxt.jsの3つのモード(SSR、SPA、プリレンダリング)のメリットとデメリットについて
Nuxt.jsの3つのモード(SSR、SPA、プリレンダリング)のメリットとデメリットについて紹介します。
目次から読む
Nuxt.jsで作れるもの
Nuxt.jsでは、次のモードを選択できます。- Universal App(SSR)
- Single Page App(SPA)
- Static App(プリレンダリング)
SSR、SPA、プリレンダリングの違い
Universal App(SSR)
Universal App(SSR)は、ファーストビューが動的にサーバーサイドでレンダリングされます。 最初のロードが完了したら、その後はSPAと同じです。 メリットとしては、- SEO的なメリットがある
- 初回読み込みもページ表示も早い
- 通信環境に左右されにくい
- サーバー側に負担が増える
Single Page App(SPA)
Single Page App(SPA)は、通常のVue.jsのアプリと同じです。最初のロード後にアプリがスタートするシングルページのみのアプリケーションです。 クライアントサイドでレンダリングされて、クローラーがその処理を待たないため、SEOでは不利になります。 通常のVue.jsと同じではありますが、Nuxt.jsのディレクトリ構造のメリットを活かすことができます。 メリットとしては、- 2回目以降の表示速度が早い
- 初回の読み込みが遅い
- SEO的に不利
Static App(プリレンダリング)
Static App(プリレンダリング)は、ビルドのときにページごとのhtmlファイルを生成します。 SSRとの違いは、SSRはクライアントからリクエストがあったときにサーバーを使用してhtmlを生成するのに対し、Static Appのプリレンダリングは、ビルド時にhtmlファイルを生成します。 メリットとしては- 表示が高速
- Node.jsが動作するサーバーも不要
- SEO的にメリットあり
- ページ数が多いアプリには向かない