bundle-dynamic-imports について
Next.js で next/dynamic を使い、大きなコンポーネントを初期表示用のバンドルから分けて遅延読み込みする方法です。コンポーネントを必要時に読み込みたいフロントエンド開発者向けです。
主な機能
- 01next/dynamic による遅延読み込み
- 02大型コンポーネントのオンデマンド読み込み
- 03サーバーサイドレンダリングの無効化設定
活用シーン
- 01Monaco Editor のオンデマンド読み込み
- 02初期メインバンドルからコンポーネントを除外
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ theorcdev/ 8bitcn-ui --skill bundle-dynamic-importsインストール後、Claude Code で/bundle-dynamic-importsを入力して読み込まれたか確認します。
詳細
大きなコンポーネントの動的インポート
初回レンダリングで必要のない大きなコンポーネントは、next/dynamic を使用して遅延読み込みします。
誤り(Monaco がメインチャンクにバンドルされ、約 300KB になります):
import { MonacoEditor } from './monaco-editor'
function CodePanel({ code }: { code: string }) {
return <MonacoEditor value={code} />
}
正しい例(Monaco を必要に応じて読み込みます):
import dynamic from 'next/dynamic'
const MonacoEditor = dynamic(
() => import('./monaco-editor').then(m => m.MonacoEditor),
{ ssr: false }
)
function CodePanel({ code }: { code: string }) {
return <MonacoEditor value={code} />
}
コメント
Markdown 対応