私が見つけたのは http://gruntjs.com/configuring-tasks#globbing-patterns で、これは私が見つけた中で最も役立つリファレンスです。
私は見続けます:
Globパターンの構文の詳細については、node-globとminimatchのドキュメントを参照してください。
それでも、構文/使用法の完全なリストを見つけることができないようです。 これらのテスト は最良の参照かもしれませんが、それでも解読するのは特に簡単ではありません。
重要なドキュメントのソースが不足しているに違いないようです。
私は間の違いを疑問に思っています:
path
path/
path/*
path/*.*
path/**
path/**/
path/**/*
path/**/*.*
そして、私が省略したかもしれない関連する他の重要なバリエーション。 node-glob
スタイルマッチング('public/**/*.*'
)と.gitignore
(node_modules
)を行う場合、これは異なる方法で適用されると思います。前者では、すべてを明示的に含める必要があるためです。 、多くのレイヤーが深く、gitignoreでは、これはディレクトリを無視することで自動的に処理されます。これは正しいです?
まず第一に、私はnode-glob
またはminimatch
ライブラリを使ったことがありません。しかし、おそらく私はまだ助けることができます。グロブパターンマッチングには一種のknown構文がありますが、率直に言って、Googleですばやく検索しても短く明確なものは何もありません。おそらくこれ- http://hgbook.red-bean.com/read/file-names-and-pattern-matching.html#id381184 -は私が見つけた最高のリソースです。ウィキペディアの記事は網羅的で読みにくい-- http://en.wikipedia.org/wiki/Glob_(programming) 。
要するに、node-globのIMHO:
*
-ファイル名の任意の数の文字を表しますが、/
を表すことはできません。**
--*
と同じですが、フォルダーの境界を越えます[abxy]
-リストの任意の1文字を置き換えることができます。 [0-9]
は任意の数を表すことができますしたがって、あなたの例に:
path/*
-path
内のすべてのファイルとフォルダーpath/**
--path
内のすべてがpath/*.*
-ポイントイン名のすべてのファイルとフォルダー。 a.txt
、.hidden
、noextension.
、folder.out
、..に一致します。minimatchドキュメントから- https://github.com/isaacs/minimatch 、-同じことをしますが、より豊富に利用します正規表現の少し難しい構文。包括的なリファレンスをここで探すことができます- http://www.w3schools.com/js/js_regexp.asp 。要するに、path/.*
はパスの下にあるものを表しますが、再帰的かどうかは明確ではありません。あなたはおそらくそれをテストするかもしれません。