我正在寻找一个与所有后代目录(特定名称的目录除外)匹配的全局名称。例如,foo/**/*.js
与作为*.js
的后代的所有foo/
文件匹配,这很好;我想要的模式扩展名将忽略__tests__
目录下的所有后代。
foo/
file01.js
__tests__/
ignore01.js
bar/
file02.js
__tests__/
ignore02.js
qux
ignore04.js
baz/
file03.js
__tests__/
ignore03.js
我尝试过的:
foo/**!(__tests__)/*.js
foo/!(__tests__)**/*.js
foo/**!(__tests__)**/*.js
foo/**/!(__tests__)/*.js
foo/!(__tests__)/**/*.js
答案 0 :(得分:1)
这不是最优雅的解决方案,但是使用扩展功能应该可以在这里工作:
foo/{,**/!(__tests__)/}*.js
这会扩展到两个应该与您的路径匹配的条件,即
foo/*.js
foo/**/!(__tests__)/*.js
您可以了解有关over here的更多信息。