Nuxtにおける「ビルド時に生成される静的コード」の中には、アプリケーションの構造や内容がビルドプロセスで確定し、実行時には変更されないような処理や機能が含まれます。これらは、パフォーマンスを最適化したり、アプリケーションを安定化させたりするためにビルド時に確定されるものです。具体的には、以下のような処理や機能が該当します:
-
静的ルーティング
Nuxtでは、pages
ディレクトリにファイルを配置すると、ビルド時にそれを元に自動的にルーティングが生成されます。このルーティング情報はビルド時に確定され、ランタイムに変更することはできません(ただし、動的ルーティングや動的生成を使って変化させることは可能)。 -
静的なアセットの最適化
CSSやJavaScript、画像などの静的なアセットはビルド時に圧縮・最適化され、バンドルに含まれます。これにより、ランタイムにおいてパフォーマンスを向上させ、ユーザーに対する読み込み時間を短縮する効果があります。 -
コードスプリッティング
Nuxtはビルド時に自動的にコードスプリッティング(コード分割)を行い、各ページに必要なリソースだけがバンドルされるように最適化します。これにより、特定のページにアクセスしたときにだけ必要なコードがロードされるため、初期ロードのパフォーマンスが向上します。 -
コンポーネントのトランスパイル
Vueコンポーネント(.vue
ファイル)やJavaScriptファイルは、ビルド時にトランスパイルされ、ブラウザで実行可能なJavaScriptコードに変換されます。これにより、ランタイムでは変換済みのコードが実行され、ブラウザの対応状況を意識せずに新しい構文が利用可能になります。 -
サーバーサイドの静的コンテンツ生成(SSG)
Nuxtのnuxt generate
を使って静的サイトを生成する場合、各ページがビルド時に静的なHTMLとして生成されます。これにより、ビルド時に生成された静的HTMLが配信されるため、ユーザーのリクエストに応じてページがサーバーでレンダリングされる必要がなく、ランタイムパフォーマンスが大幅に向上します。 -
Vuexストアの初期設定
ストアの初期状態やモジュール構成などもビルド時に決定されます。特定のグローバルな設定や初期データをビルド時に確定し、ランタイムでの変更が不要な部分を固定します。 -
環境変数(build-time環境変数)
Nuxtでは、.env
ファイルやnuxt.config.js
で設定された環境変数のうち、publicRuntimeConfig
に含まれないものはビルド時に固定されます。例えば、APIのエンドポイントがビルド時に確定される場合、ランタイムにおいて変更できない値として扱われます。
これらの静的な要素は、アプリケーションのビルドプロセスで確定されるため、実行時にパフォーマンスが向上し、またユーザーに安定したコンテンツを提供できるメリットがあります。