15

に次の行がありますGruntfile

js files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],

{,*/}*どういう意味か教えてくれる親切な人はいますか?スクリプト フォルダー内のすべてのファイルを一致させようとしていることはわかってい.coffeeますが、その方法を知りたいです。

4

2 に答える 2

16

{,*/}スクリプトと .coffee ファイルの間で、1 つまたはゼロのディレクトリが一致します。{} の中には、実際にはコンマで区切られた 2 つの一致する用語があります。1 つは空白で、コンマの左側に文字がないことで表されます。1 つは、任意の数の文字とスラッシュです。最後の * は、.coffee 拡張子の前のファイル名と一致します。

ところで、これは正規表現ではなく、グロビングです。

于 2013-06-12T20:30:12.973 に答える
6

ドキュメントによると:

また、これは JavaScript であるため、JSON に限定されません。ここでは有効な JavaScript を使用できます。必要に応じて、構成をプログラムで生成することもできます。

次のものに一致するよう{,*/}*です。JSON

{
 '' = empty space matches no character
 , = or
 * = Any Characters (except slash) (wildcard)
 / = literal slash
}
* = Any Characters (except slash) (wildcard)

更新 別のリソースが見つかりました:

グロビング パターン

多くの場合、すべてのソース ファイルパスを個別に指定することは実際的ではないため、Grunt は組み込みの node-glob および minimatch ライブラリを介してファイル名の展開 (グロビングとも呼ばれます) をサポートします。

これはグロビング パターンに関する包括的なチュートリアルではありませんが、ファイルパスで次のことを知っておいてください。

* 任意の数の文字に一致しますが、/ には一致しません

? 1 文字に一致しますが、/ には一致しません

** はパス部分にある限り、/ を含む任意の数の文字に一致します

{} は、「または」式のカンマ区切りのリストを許可します

! パターンの開始時に一致を否定します

于 2013-06-12T20:28:34.327 に答える