Node.js 节点全局模式包括除特定文件夹中的所有js

Node.js 节点全局模式包括除特定文件夹中的所有js,node.js,node-glob,Node.js,Node Glob,我有一个像这样的项目 ls foo/ - file0.js - a/file1.js - b/file2.js - c/file3.js - d/file4.js 如何编写一个脚本来排除c&d文件夹,但获取所有其他javascript文件?我已经找了一个例子,但没有任何效果 我认为解决方案与此类似: glob('+(**/*.js|!(c|d))', function(err, file) { return console.log(f); }); 我想要回来 - file0.js - a

我有一个像这样的项目

ls foo/
- file0.js
- a/file1.js
- b/file2.js
- c/file3.js
- d/file4.js
如何编写一个脚本来排除c&d文件夹,但获取所有其他javascript文件?我已经找了一个例子,但没有任何效果

我认为解决方案与此类似:

glob('+(**/*.js|!(c|d))', function(err, file) {
  return console.log(f);
});
我想要回来

- file0.js
- a/file1.js
- b/file2.js

我在自述文件中忽略了一个选项:

glob('**/*.js', { ignore: '{c,d}/**' }, cb)

这将从匹配中排除两个c+d文件夹。更多

对于没有第二个参数设置排除的环境,我们可以使用下面示例中演示的模式实现这种异常:

模式

/src/**/!(els)/*.scss
结构

/src/style/kit.scss
/src/style/els/some.scss
/src/style/els/two.scss
结果

它将只选择
/src/style/kit.scss

我们可以使用或在线快速测试

更新 如果我们正在使用吞咽任务运行程序。或者其他一些提供第二个或多个排除参数的工具或类。或者只是支持排除的多个globs选择器。然后,我们可以像下面的例子一样,进行“吞咽秀”:

大口喝

我们传递一个数组而不仅仅是一个字符串(多个globs选择器,一个接一个地应用以添加更多文件或排除)

我们可以有多个排除

watch(['src/style/**/*.{scss,sass}', '!(src/style/els/**)', '!(src/style/_somefileToExclude.scss)'])
在gulp中,您可以将其与任何支持数组作为全局选择器的方法一起使用
src
watch
就是我使用它的原因

注意:如果您想排除某个文件夹及其所有子文件夹,我们将如上所述使用
***
,而不是
***
,这将不起作用。如果您需要某些特定的文件类型(扩展名),则可以使用
***.scss
作为示例

watch(['src/style/**/*.{scss,sass}', '!(src/style/els/**)', '!(src/style/_somefileToExclude.scss)'])