Vite + TanStack Router - 5. 遅延ローディングのためのコード分割

[vite]

[TanStack]

[TanStack Router]

アプリケーションの規模が大きくなってくると初期ロードの時間が長くなり、ユーザー体験を損ないます。

TanStack Routerではルートファイルを分割して初期ロードのファイルサイズを減らし、アプリケーション開始時間までの時間を短くすることができます。

.lazy.tsx ファイルを作ることで手動でコード分割の設定もできますが、自動コード分割機能を使うのが楽です。

自動コード分割は、ファイルベースルーティング+対応のバンドラーの環境で使えます。

対応バンドラーは現在 Vite、Rspack/Rsbuild、webpack、esbuild の4つです

自動コード分割の有効化

{
// ...
"autoCodeSplitting": true,
}

これだけでコード分割が有効になって遅延ローディングされるようになります。

遅延ローディングの対象

コードスプリッティング(遅延読み込み)の対象になるのは

以下の要素は遅延読み込みの対象になりません。

手動でのコード分割

手動でコードスプリッティングをする方法にも触れておきます。

  1. hoge.tsx hoge.lazy.tsx という2つのファイルを作る
  2. hoge.lazy.tsx の方では createLazyFileRoute を作り、遅延読み込みの対象(コンポーネント)を書く。

まとめ

Vite + TanStack Router - 4. パラメータの取り扱い
Vite + TanStack Router - 6. 認証付きルートの設定