Globs& NPM Minimatch:除特定目录外,递归匹配所有文件和目录

时间:2017-01-05 17:56:12

标签: node.js bash glob minimatch grunt-ssh

给定目录结构:

/Users/doge/very/amaze.js
/usr/local/bin/wow
/node_modules/
/css/
/css/somefile.css
/lib/
/somelib/
/anotherlib/somedir/finallib.js
/index.html
/somefile.test
/somelib/file.html
/firstdir/seconddir/file.css
/node_modules.txt

我如何仅使用extglob排除node_modules目录?

/!(node_modules)

以上匹配根级别的所有内容,但node_modules目录和文本文件(我们要包含)除外。它也不会递归地跟随匹配的目录。

/!(node_modules)/**

这个更接近,但它也排除了根目录中的所有文件。即使它包含在根级别的文件,我猜它会排除node_modules.txt文件。

P.S。这是使用grunt-sshminimatch节点模块进行文件匹配的。

1 个答案:

答案 0 :(得分:3)

这个可以解决您的问题:/!(node_modules){,/**}