这个通配符是什么意思?
What does this wildcard mean?
我有一个包含多个命令的 grunt 文件。其中一部分是一位离开的同事写的,但我们找不到确切的解释。
它做了它应该做的事情,但我们不知道它到底是什么:)
这是代码:
dist: {
files: [{
expand: true,
cwd: '<%= config.tmp %>/styles/',
src: '{,**/}*.css',
dest: '<%= config.tmp %>/styles/'
}]
}
我们不确定的部分是第 5 行的 {,**/}
。
{}
allows for a comma-separated list of "or" expressions
因此,
'{,**/}*.css',
将匹配 *.css
和 **/*.css
。
大括号内的第一个模式是 冗余,因为第二个模式应该已经匹配 current/root 目录中的 .css 文件。
A great answer by sotirios-delimanolis:
When to use ** (double star) in glob syntax within JAVA
简而言之,如果您使用一颗星,那么嵌套路径将被忽略:
/a/a/a.css - 忽略
花括号里面的逗号就是这样files/directories里面的逗号不会被忽略:
dsadsad,dasdsadas/a.css
{,**/}*.css
该模式内的大括号表示称为大括号扩展的功能。内部 grunt is using Minimatch library which supports that feature. List of comma separated patterns inside them will be expanded first into two patterns *.css
and **/*.css
in your case. You can test your pattern using globster.xyz
我有一个包含多个命令的 grunt 文件。其中一部分是一位离开的同事写的,但我们找不到确切的解释。
它做了它应该做的事情,但我们不知道它到底是什么:)
这是代码:
dist: {
files: [{
expand: true,
cwd: '<%= config.tmp %>/styles/',
src: '{,**/}*.css',
dest: '<%= config.tmp %>/styles/'
}]
}
我们不确定的部分是第 5 行的 {,**/}
。
{}
allows for a comma-separated list of "or" expressions
因此,
'{,**/}*.css',
将匹配 *.css
和 **/*.css
。
大括号内的第一个模式是 冗余,因为第二个模式应该已经匹配 current/root 目录中的 .css 文件。
A great answer by sotirios-delimanolis:
When to use ** (double star) in glob syntax within JAVA
简而言之,如果您使用一颗星,那么嵌套路径将被忽略:
/a/a/a.css - 忽略
花括号里面的逗号就是这样files/directories里面的逗号不会被忽略:
dsadsad,dasdsadas/a.css
{,**/}*.css
该模式内的大括号表示称为大括号扩展的功能。内部 grunt is using Minimatch library which supports that feature. List of comma separated patterns inside them will be expanded first into two patterns *.css
and **/*.css
in your case. You can test your pattern using globster.xyz