プロダクションチェックリスト
Next.jsアプリケーションをプロダクションに導入する前に、最適なユーザーエクスペリエンス、パフォーマンス、安全性を実現するためのいくつかの最適化やパターンを考慮すべきです。
このページでは、アプリケーションをビルドするとき、プロダクションに進む前、およびデプロイ後に参考にできるベストプラクティスと、知っておくべきNext.jsの自動最適化を紹介します。
自動最適化
これらのNext.jsの最適化はデフォルトで有効で、設定は不要です:
- Server Components: Next.jsはデフォルトでServer Componentを使用します。Server Componentはサーバー上で実行され、クライアントサイドでのJavaScriptのレンダリングを必要としません。そのため、クライアントサイドJavaScriptバンドルのサイズに影響を与えません。必要に応じて、インタラクティブ性のためにClient Componentを使用できます。
- コード分割: Server Componentはルートセグメントごとに自動的なコード分割を可能にします。適切な場合は、Client Componentやサードパーティライブラリーの遅延読み込みを検討してください。
- プリフェッチ: 新しいルートへのリンクがユーザーのビューポートに入ると、Next.jsはバックグラウンドでそのルートをプリフェッチします。これにより、新しいルートへのナビゲーションがほぼ瞬時に行われます。必要に応じてプリフェッチをオプトアウトできます 。
- 静的レンダリング: Next.jsはビルド時にサーバー上でServer ComponentとClient Componentを静的にレンダリングし、アプリケーションのパフォーマンスを向上させるためにキャッシュします。必要に応じて特定のルートに動的レンダリングを選択できます。
- キャッシング: Next.jsは、データリクエスト、Server ComponentやClient Componentのレンダリング結果、静的アセットなどをキャッシュして、サーバー、データベース、バックエンドサービスへのネットワークリクエスト数を減らします。必要に応じてキャッシングをオプトアウトすることができます。
これらのデフォルト設定は、アプリケーションのパフォーマンスを向上させ、各ネットワークリクエストで転送されるコストとデータ量を削減することを目的としています。
開発中に
アプリケーションを構築する際には、以下の機能を使用して、最高のパフォーマンスとユーザーエクスペリエンスを確保することをおすすめします: