バンドルサイズを分析する
Astroが生成するバンドルの内容を理解することは、サイトのパフォーマンスを向上させるために重要です。バンドルを可視化することで、プロジェクトのどこを変更すればバンドルサイズを削減できるかのヒントを得られます。
rollup-plugin-visualizer
ライブラリを使用すると、Rollupバンドルを可視化して分析し、どのモジュールが容量を占めているかを確認できます。
-
rollup-plugin-visualizer
をインストールします。ターミナルウィンドウ npm install rollup-plugin-visualizer --save-devターミナルウィンドウ pnpm add rollup-plugin-visualizer --save-devターミナルウィンドウ yarn add rollup-plugin-visualizer --save-dev -
astro.config.mjs
ファイルにプラグインを追加します。// @ts-checkimport { defineConfig } from 'astro/config';import { visualizer } from "rollup-plugin-visualizer";export default defineConfig({vite: {plugins: [visualizer({emitFile: true,filename: "stats.html",})]}}); -
ビルドコマンドを実行します。
ターミナルウィンドウ npm run buildターミナルウィンドウ pnpm buildターミナルウィンドウ yarn build -
プロジェクトの
stats.html
ファイルを見つけます 静的なサイトの場合、このファイルはdist/
ディレクトリのルートにあり、バンドルに含まれる内容を確認できます。Astroプロジェクトがオンデマンドレンダリングを使用している場合、2つの
stats.html
ファイルが生成されます。1つはクライアント用、もう1つはサーバー用で、それぞれdist/client
とdist/server/
ディレクトリのルートに配置されます。これらのファイルの解釈方法や特定のオプションの設定方法については、Rollup Plugin Visualizerのドキュメントを参照してください。
Astro独自のハイドレーションアプローチを考慮すると、ビルドは必ずしもクライアントが受け取るバンドルを表しているわけではありません。
Rollup visualizerはサイト全体で使用されるすべての依存関係を表示しますが、ページごとのバンドルサイズの内訳は表示しません。