ダイナミックインポート
このレッスンでは、初期ページ読み込み時にロードされるサードパーティライブラリのJavaScript量を削減します。
Next.jsはJavaScriptのES2020 ダイナミックimport()
をサポートしています。これを使用すると、JavaScriptモジュールを動的にインポートして操作できます。また、サーバーサイドレンダリング(SSR)でも機能します。
ダイナミックインポートは、コードを管理可能なチャンクに分割する別の方法と考えてください。
pages/index.js
ファイルを開き、ファイルの先頭にある以下の2つのインポートを削除します。これらは後ほどファイル内で動的にインポートします。
また、以下のコードも一時的に削除します:
このコードを削除したので、検索入力に動的にインポートしたライブラリを使用するように設定しましょう。
入力部分を以下のコードに置き換えることができます:
ダイナミックインポートを使用することで、ページ読み込み時の「未使用のJavaScriptを削除」という問題が解決されます。これにより、Time to Interactive (TTI)も改善され、First Input Delay (FID)の向上に役立ちます。
Chrome DevToolsで再度Lighthouseレポートを実行して、進捗を確認しましょう。
さらに詳しく
- Next.js: ダイナミックインポートのドキュメント