对此肯定有一个简单的答案,以至于我找不到以前问过的人:
包含文件夹中的所有文件但忽略所有子文件夹的通配模式是什么?
gulp.src('*') 包括所有文件和文件夹。我只想要文件,而不必单独排除文件夹。
只需nodir
在调用时使用该选项gulp.src
。这实际上将测试从文件系统中读取的文件,而不是依赖于今天可能存在但明天不存在的约定。
在以下示例debug()
中,dir
目标中的 将输出文件和目录。debug()
目标中的将nodir
仅输出文件,因为它使用nodir
. foo
用文件和子目录填充目录,您会看到不同之处。
var gulp = require("gulp");
var debug = require("gulp-debug");
gulp.task("dir", function () {
return gulp.src("foo/**")
.pipe(debug());
});
gulp.task("nodir", function () {
return gulp.src("foo/**", { nodir: true })
.pipe(debug());
});
如果您想让树的一部分包含目录而另一部分排除它们,那么您可以合并流:
var es = require("event-stream");
gulp.task("nodir-multi", function () {
return es.merge(gulp.src("foo/**", { nodir: true }),
gulp.src("bar/**"))
.pipe(debug());
});
我不认为只有一个gulp.src
电话的便利性证明依赖*.*
和.*
排除目录是合理的。版本控制系统通常会创建匹配的目录.*
(例如.git
, .svn
)。开发工具也做同样的事情(例如.deps
,.tmp.foo
)。
如果您也想包含 .dotFiles ,请尝试
gulp.src(['folder/*.*', 'folder/.*'])
你可以试试
gulp.src('folder/*.*')
但是,这与点文件不匹配。