devIndicators
devIndicators
を使用すると、開発中に現在表示しているルートについてのコンテキストを提供する画面上のインジケーターを設定できます。
appIsrStatus
(静的インジケーター)
Next.js は、ルートがビルド時にプリレンダリングされるかどうかを示す静的インジケーターを画面の隅に表示します。これにより、ルートが静的か動的かを簡単に理解でき、静的レンダリングをオプトアウトしたルートを識別できます。
インジケーターを閉じるボタンをクリックすると、1時間 localStorage
に設定が記憶され、一時的に非表示にできます。完全に無効にするには、next.config.js
で設定オプションを使用できます:
buildActivity
(コンパイルインジケーター)
コードを編集し、Next.jsがアプリケーションをコンパイルしているとき、ページの右下隅にコンパイルインジケーターが表示されます。
補足: このインジケーターは開発モードでのみ表示され、本番モードでアプリをビルドして実行する際は表示されません。
場合によっては、チャットランチャーと競合するなど、このインジケーターがページ上に不適切に配置されることがあります。位置を変更するには、next.config.js
を開き、devIndicators
オブジェクトの buildActivityPosition
を bottom-right
(デフォルト)、bottom-left
、top-right
、top-left
のいずれかに設定します:
場合によっては、このインジケーターが役に立たないことがあります。削除するには、next.config.js
を開き、devIndicators
オブジェクトの buildActivity
設定を無効にします:
トラブルシューティング
静的ルートでインジケーターが表示されない
ルートが静的であると予想されるのに、インジケーターが有効なのに表示されない場合、そのルートは静的レンダリングをオプトアウトしている可能性が高いです。
next build --debug
を使用してアプリケーションをビルドし、ターミナルの出力を確認することで、ルートが静的または動的であることを確認できます。静的(またはプリレンダリング)ルートは ○
記号、動的ルートは ƒ
記号で表示されます。例:
ルートが静的レンダリングをオプトアウトする理由は2つあります:
- ランタイム情報に依存する動的APIの存在。
- キャッシュされていないデータリクエスト(ORMやデータベースドライバーへの呼び出しなど)。
これらの条件についてルートを確認し、ルートを静的にレンダリングできない場合は、loading.js
または <Suspense />
を使用してストリーミングを活用することを検討してください。