gulp globbing-ディレクトリの下のすべてを監視する方法


108

これはかなり馬鹿げた質問ですが、満足のいく答えを本当に見つけることができませんでした:gulp globbingを使用して、特定のディレクトリの下のすべてのサブディレクトリにあるすべてのファイルを選択するにはどうすればよいですか?

私はもう試した:

'./src/less' './src/less/' './src/less/*'

それらのどれも動作しないようです。

回答:


178

すべてのディレクトリの下のすべてのファイルのパターンは通常、./src/less/**/*.*またはであり./src/less/**/*、どちらでも機能します。

一般的に言えば、システムファイルや他のジャンクを取得しないように、特定のファイル拡張子を一致させることをお勧めします。その場合は、あなたが行うことができます./src/less/**/*.lessだけのため.lessのファイル、またはのようなもの.src/less/**/*.{less,css}の両方のために.less.cssファイル。

GruntのWebサイトには、大多数のミニマッチグロブのかなり良いリファレンスがあります。(Gruntとgulpはどちらもminimatchを使用します。これは、Node関連のほとんどすべてのglobライブラリーであるためです。)

gulpまたはminimatchが独自の完全なドキュメントを持っていると便利ですが、それはオープンソースです。


おかげで、GruntのWebサイトをチェックします。システムファイルについてのポイントは間違いなく理にかなっています。少し緩めにしたいのは時計に使っているからです。
Jehan 2014

1
まだ行っていない場合はgulp-watch、新しいファイルの監視も処理できるため、ファイルを監視するためのモジュールを学習して使用することを強くお勧めします。設定はもう少し手間がかかりますが、価値があります。IMO。
OverZealous 2014

8
今後の参考のために、私はglobtester.comのツールを使用します。これは、gulpがnode-globを介して使用するミニマッチを使用します。「globはnode-glob構文を参照するか、直接のファイルパスにすることができます。」(ソース:github.com/gulpjs/gulp/blob/master/docs/API.md) "[node-glob]はミニマッチングライブラリを使用してマッチングを行います。"(ソース:github.com/isaacs/node-glob
ダニエルDropik

1

'./src/less/**'動作するようです。それでも、誰かがすべてのグロビングコマンドのより明確なリストを持っている場合、私はあなたの答えを受け入れてgulp docsに追加できれば幸いです。現在、gulpのサブモジュールのドキュメントにアクセスする必要があります。これにより、マンページのリストが表示されます。特にgulpを使用しているデザイナーにとっては、直接参照することをお勧めします。


1
gulp.watch('./build/**', ...)ディレクトリ(たとえば、。/。git /)の一部の変更に対して(ミス?) 最後に余分な/ *を追加すると、その問題を回避できるようです:gulp.watch('./build/**/*', ...)
medmunds 2015

@medmunds同様の結果が見つかりました。グロブは*または特定の* .lessで終わる必要があります。*。*は拡張子のないものがないため機能しません。それは取るようです。POSIXスタイルのマッチングを使用してマッチングします。つまり、ファイルに「期間」がない場合、一致しません。おそらくthere_ought_がの特別なケースになるでしょうとしてWindowsのDIRを介して「LICENSE」と一致しますが、残念ながら一致ln *.*しません。'には2つの異なる意味があります。' 悲しい。*私たちが必要とすることをするようです。A グロブはおそらく私の開発者が実際に意図したものでは決してなく、警告をスローする必要があるかもしれません。
Andrew T Finnell

@filthy_wizard- **再帰的です。
Steven Ventimiglia
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.