4

对此肯定有一个简单的答案,以至于我找不到以前问过的人:

包含文件夹中的所有文件但忽略所有子文件夹的通配模式是什么?

gulp.src('*') 包括所有文件和文件夹。我只想要文件,而不必单独排除文件夹。

4

3 回答 3

7

只需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)。

于 2015-09-29T10:09:05.537 回答
6

如果您也想包含 .dotFiles ,请尝试

gulp.src(['folder/*.*', 'folder/.*'])
于 2015-09-29T06:20:30.127 回答
1

你可以试试

gulp.src('folder/*.*')

但是,这与点文件不匹配。

于 2015-09-28T15:52:47.857 回答