全局查找除单个文件夹之外的所有文件扩展名集

时间:2019-06-03 22:40:52

标签: glob

我需要编写一个glob来匹配项目目录及其所有子目录中除*.{js,ts,md,json,yaml,yml,css,html}之外的所有文件类型(ignored-folder)。例如:

should-match.js
src/should-match.ts
src/nested/should-match.css
ignored/should-NOT-match.json

这非常接近:

!(ignored-folder)/**/*.{js,ts,md,json,yaml,yml,css,html}

但是,它不包含根级别的should-match.js。修复它的某种方法是基本上像这样复制最后一段:

{*.{js,ts,md,json,yaml,yml,css,html},!(ignored-folder)/**/*.{js,ts,md,json,yaml,yml,css,html}}

带有变量,可以这样写:

{$EXTENSIONS,!(ignored-folder)/**/$EXTENSIONS}

但是,我不能使用变量,因此重复操作有点令人不愉快。有没有更好的方法来编写Glob?

1 个答案:

答案 0 :(得分:1)

这有效:

{!(ignored-folder)/**/,}*.{js,ts,md,json,yaml,yml,css,html}