gulp.src()包含文件但忽略所有文件夹

时间:2015-09-28 15:04:20

标签: gulp glob node-glob

肯定有这样一个简单的答案,我找不到之前被问过的人:

包含文件夹中所有文件但忽略所有子文件夹的通用模式?

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

3 个答案:

答案 0 :(得分:6)

如果你想包括.dotFiles,那么试试

gulp.src(['folder/*.*', 'folder/.*'])

答案 1 :(得分:6)

致电400 Bad Request时,只需使用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)。

答案 2 :(得分:1)

你可以尝试

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

然而,这与点文件不匹配。