【Node.js24.x】Object::glob()メソッドの使い方
globメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
globメソッドは、指定されたパターンに一致するファイルやディレクトリのパスを検索し、そのリストを取得するために使用されるメソッドです。このメソッドはObjectクラスに属しており、ファイルシステム全体から特定の条件に合致するファイルを効率的に見つけ出すことを目的としています。
システムエンジニアが開発を行う際には、設定ファイルの読み込み、ログファイルの集計、特定の形式のデータファイルの処理など、大量のファイルを一括で扱う場面が頻繁に発生します。例えば、*.jsというパターンを指定すれば、現在のディレクトリやそのサブディレクトリにあるJavaScriptファイルすべてを検索対象とすることができます。また、data/**/*.jsonのように指定することで、dataディレクトリ以下の任意の深さにあるすべてのJSONファイルを見つけることも可能です。
globメソッドは、ファイルパスのパターンマッチングに特化した強力な機能を提供します。手動でディレクトリを再帰的に走査するコードを記述する代わりに、簡潔なパターン文字列一つで目的のファイルを検索できるため、コードの可読性と保守性が向上します。通常、このメソッドは非同期で動作し、検索結果としてマッチしたファイルやディレクトリのパスを文字列の配列として返します。これにより、大規模なファイルシステムを検索する際も、メイン処理をブロックすることなく効率的なファイル操作を実現できます。
構文(syntax)
1const matchedFiles = await Object.glob('src/**/*.js', { 2 recursive: true, // サブディレクトリも再帰的に検索する 3 withFileTypes: false // 結果をfs.Direntオブジェクトではなく、文字列のパスとして取得する 4}); 5 6console.log(matchedFiles);
引数(parameters)
pattern, options, callback
- pattern: string | string[]: 検索対象となるファイルパスのパターン。ワイルドカード(*、?、[]など)を使用できます。
- options: object: glob検索の挙動を制御するオプション。
- callback: function: 検索完了後に実行されるコールバック関数。
戻り値(return)
戻り値なし
戻り値はありません