コンポーネントの遅延読み込み
動的インポートとIntersection Observerを使い、重要でないコンポーネントのレンダリングを遅延させます。
「コンポーネントの遅延読み込み」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。
遅延読み込みを行う理由
容量の大きいコンポーネントや重要でないコンポーネントの読み込みを遅らせ、初期バンドルサイズを削減します。
動的インポート
import() を使用して、モジュールを非同期で読み込みます。
let Component;
onMount(async () => {
Component = (await import("./Heavy.svelte")).default;
});読み込み後にレンダリング
<svelte:component> を使用して、動的なコンポーネントをレンダリングします。
{#if Component}
<svelte:component this={Component} />
{/if}Intersection Observer
IntersectionObserver と組み合わせると、プレースホルダーがビューポートに入った時点で読み込めます。
アクションラッパー
再利用可能な use:lazy アクションを作成して、このパターンをカプセル化します。
読み込み状態
コンポーネントが読み込まれるまで、スケルトンまたはスピナーを表示します。
ファーストビュー外での使用
コメント、関連記事、フッターウィジェットなどは、すべて遅延読み込みの対象になります。
パフォーマンスの向上
初期 JS を削減し、特にモバイル環境で TTI を短縮します。
プリフェッチ
必要に応じて、ホバー時またはビューポート付近でモジュールをプリロードすると、操作の応答性を高められます。
過度な分割を避ける
小さなコンポーネントでは、動的インポートのオーバーヘッドが節約効果を上回ります。
ストリーミングとの併用
サーバーレンダリングされたページでは、ストリーミングと遅延ハイドレーションを組み合わせることで、初回描画を高速化できます。
確認
動的にインポートしたコンポーネントはどのようにレンダリングしますか?
まとめ
動的インポートと svelte:component を使用して容量の大きいコンポーネントを遅延読み込みし、必要に応じてインターセクションをトリガーにします。
よくある質問
「コンポーネントの遅延読み込み」レッスンは無料ですか?
はい。「コンポーネントの遅延読み込み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。
「コンポーネントの遅延読み込み」で何を学びますか?
動的インポートとIntersection Observerを使い、重要でないコンポーネントのレンダリングを遅延させます。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Sveltejs Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「コンポーネントの遅延読み込み」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSveltejs Academyレッスンでコードを書いて実行できますか?
はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。