copy: { // 这是Task里的其中一个Target dests: { expand: true, cwd: '<%=config.app%>/newFolder', src: ['**/{a*,b*}.html'], dest: '<%=config.dist%>/newFolder', ext: ".shtml", extDot: "first", flatten:true, //去掉中间上当,下面的rename可以再找回来 rename: function( dest, fileName ) { return dest + "/" +fileName; } } }
ワイルドカードのサポート:nodejs に組み込まれているノードグロブ ライブラリによってサポートされており、これらは上記のさまざまなファイル構成で使用できます
1. * は /
を除く任意の文字に一致します。
2. ? /
を除く単一の文字に一致します。
3. ** は / を含む任意の文字に一致するため、ディレクトリ パス
で使用されます。
4. {} カンマで区切られた「OR」演算 (カンマの後にスペースは不要)
5.! 一致を除外します
動的に生成されたファイル名:
次のオプションを開くには、expand を true に設定します。true に設定すると、次のファイル名のプレースホルダー (* 記号など) を特定のファイル名に展開する必要があることを意味します。
cwd src で指定されたすべてのファイルは、この属性で指定されたパスと、処理する必要のあるファイル (入力) が配置されているディレクトリに対する相対パスです
src 照合されるパス (cwd を基準とした相対パス) は、処理する必要があるファイルを表します。配列形式の場合、配列内の各項目はファイル名となり、ワイルドカード文字
を使用できます。dest によって生成された宛先パスのプレフィックス。処理されたファイル名またはディレクトリを示します。
ext は、処理されたファイル拡張子を表します。生成されたすべてのターゲット ファイルのサフィックスをこの属性
に置き換えます。extDot:first: ファイル名の後の最初のドットからサフィックスとして開始することを意味し、last: ファイル名の後の最後のドットからサフィックスとして開始することを意味します。
flatten: 生成されたすべての dest のパス部分を削除します。値はブール型 (true、false) で、ファイル ディレクトリ構造を維持するかどうかを指定します。true はファイル ディレクトリを維持します。rename は、一致したファイル名と一致したターゲットの場所を受け入れ、新しいターゲット パスを返す関数です
上記は、Grunt タスクを構成する際のワイルドカードのサポートと動的ファイル名の生成についてこの記事で紹介したものです。お役に立てば幸いです。