.nuxtignore
.nuxtignore ファイルは、ビルドフェーズ中にプロジェクトのルートディレクトリ内のファイルを Nuxt に無視させることができます。
.nuxtignore ファイルは、ビルドフェーズ中にプロジェクトのルートディレクトリ(rootDir)内のファイルを Nuxt に無視させるためのものです。
これは、.gitignore や .eslintignore ファイルと同じ仕様に従っており、各行が無視すべきファイルを示すグロブパターンになっています。
nuxt.config ファイルで ignoreOptions、ignorePrefix、ignore を設定することもできます。
使用方法
# レイアウト foo.vue を無視
layouts/foo.vue
# 名前が -ignore.vue で終わるレイアウトファイルを無視
layouts/*-ignore.vue
# ページ bar.vue を無視
pages/bar.vue
# ignore フォルダ内のページを無視
pages/ignore/*.vue
# foo フォルダ内のルートミドルウェアファイルを無視(foo/bar.js を除く)
middleware/foo/*.js
!middleware/foo/bar.js
tips
このセクションは公式ドキュメントの翻訳ではなく、本サイト独自の補足記事です。
.nuxtignore ファイルの活用と実務的な注意点
Nuxt プロジェクトの開発やビルド時に、特定のファイルやフォルダを処理対象から除外したい場面は多々あります。.nuxtignore ファイルは、そんなニーズに応えるために用意された仕組みで、ビルドフェーズ中に Nuxt が無視すべきファイルを指定できます。これにより、不要なファイルの読み込みやビルド時間の増加を防ぎ、効率的な開発が可能になります。
本記事では、.nuxtignore の基本的な使い方から、実務での具体的なユースケース、さらに SSR や Hydration に関わる注意点まで幅広く解説します。Nuxt を使い始めたばかりの方から中級者まで、理解を深めていただける内容です。
まず結論:.nuxtignore のポイント
.nuxtignoreはプロジェクトのルートディレクトリに置き、ビルド時に無視したいファイルやフォルダをグロブパターンで指定できる.gitignoreと同様の書き方で、柔軟に除外ルールを設定可能nuxt.configのignoreOptionsやignorePrefix、ignoreオプションでも同様の制御ができる- 主にビルド時間短縮や不要ファイルの誤読込み防止に役立つ
- ただし、無視したファイルが実際に必要な場合はビルドエラーや動作不良の原因になるため注意が必要
いつ使うべきか / 使わない方がよいケース
使うべきケース
-
開発中の一時ファイルやテスト用ファイルをビルドから除外したいとき
例えば、ページやコンポーネントの一部を一時的に無効化したい場合に便利です。 -
特定のファイル群がビルドに不要で、ビルド時間を短縮したいとき
大量のファイルがあるプロジェクトで、使わないファイルを除外することでビルド効率が向上します。 -
外部ツールやスクリプトが生成するファイルを誤ってビルドに含めたくないとき
生成物やキャッシュファイルなどを除外することで、ビルドの安定性を保てます。
使わない方がよいケース
-
動的に必要なファイルを誤って除外してしまう可能性がある場合
例えば、動的ルーティングで使うページファイルを除外すると、ルーティングが機能しなくなります。 -
ビルド後に必要なファイルを除外してしまう場合
ビルド成果物に影響するファイルは除外しないようにしましょう。
実務でよくあるユースケースとサンプルコード
1. 一時的に特定ページをビルドから除外する
開発中に特定のページを一時的に無効化したい場合、.nuxtignore に対象ファイルを記述します。
# pages/secret.vue をビルドから除外
pages/secret.vue
これにより、secret.vue はビルド対象から外れ、ルーティングにも含まれなくなります。
2. テスト用コンポーネントを除外する
テスト用のコンポーネントやモックファイルを除外し、ビルドを軽量化します。
# components/test-*.vue を除外
components/test-*.vue
3. 特定フォルダ内のファイルを除外し、一部だけ残す
例えば、middleware/foo フォルダ内のファイルを除外しつつ、特定ファイルだけはビルドに含めたい場合。
middleware/foo/*.js
!middleware/foo/bar.js
このように、! を使って除外の例外を設定できます。
よくある落とし穴・注意点
SSR と CSR の違いによる影響
.nuxtignore で除外したファイルが SSR(サーバーサイドレンダリング)で必要な場合、ビルド時にエラーが発生したり、実行時にページが正しく表示されなくなることがあります。特にページやミドルウェア、プラグインなどは慎重に除外設定を行いましょう。
Hydration エラーの原因になることも
クライアント側で必要なコンポーネントやファイルを誤って除外すると、Hydration(サーバーでレンダリングされた HTML にクライアント側の Vue がマウントされる処理)時に不整合が起き、コンソールに警告やエラーが出ることがあります。
パフォーマンス面のメリットとデメリット
除外設定を適切に行うとビルド時間が短縮され、開発効率が向上します。しかし、除外しすぎると必要なファイルがビルドに含まれず、動作不良の原因になるためバランスが重要です。
.nuxtignore と nuxt.config の ignore オプションの違い
.nuxtignore はファイル単位での除外に特化していますが、nuxt.config の ignoreOptions や ignorePrefix はより細かい制御が可能です。用途に応じて使い分けると良いでしょう。
まとめ
.nuxtignore は Nuxt プロジェクトのビルド時に不要なファイルを除外し、ビルド効率や安定性を向上させる強力なツールです。基本的なグロブパターンで簡単に設定できるため、開発中の一時ファイルやテスト用ファイルの管理に役立ちます。
ただし、除外設定は慎重に行い、特に SSR や Hydration に影響するファイルは誤って除外しないよう注意が必要です。実務では .nuxtignore と nuxt.config の ignore オプションを組み合わせて使うことで、より柔軟かつ安全にビルド対象を管理できます。
適切に活用して、快適な Nuxt 開発環境を実現しましょう。
※このページは Nuxt.js 公式ドキュメントの翻訳ページです。
公式ドキュメントの該当ページはこちら:
https://nuxt.com/docs/3.x/guide/directory-structure/nuxtignore