Node.jsでglobモジュールでワイルドカード指定する方法とディレクトリ除外する方法
globモジュールを使ってワイルドカード指定して検索にマッチした複数ファイルを配列で返すことができます。
const glob = require('glob');
glob('*',{'ignore':['node_modules']}, function(err, files){
if(err) {
console.log(err)
}
console.log(files) // [ 'index.js', 'package-lock.json', 'package.json' ]
})
globの第二引数で{'ignore':['ディレクトリ名']}とすると、そのディレクトリとディレクトリ配下を除外することができます。
globbyモジュールならPromiseAPIサポート
globよりglobbyモジュールを使えばPromiseサポートしています。
npm install --save-dev globby
globbyなら第一引数が配列になり、配列の要素ごとにワイルドカード指定、除外するファイルやディレクトリを指定できるのでわかりやすいと思います。
const globby = require('globby');
async function find() {
const p = await globby(['**', '!node_modules']);
console.log(JSON.stringify(p));
}
find();
| ワイルドカード | 意味 |
|---|---|
| **/* | ディレクトリ含む全てのファイル |
| * | ディレクトリ除く全てのファイル |
| !ファイル名 | ファイル名を除く |
| !ディレクトリ名 | ディレクトリ含む全てのファイルを除く |

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント