【发布时间】:2014-09-01 12:04:17
【问题描述】:
SSCCE:
gulp.task('foo', [], function() {
var barFiles = getBarFiles();
var bazFiles = getBazFiles();
var barStream, bazStream;
if (barFiles && barFiles.length > 0) {
barStream = gulp.src(barFiles);
}
if (bazStream && bazStream.length > 0) {
bazStream = gulp.src(bazStream);
}
return eventStream
.merge(barStream, bazStream)
.pipe(g.concat('bar-and-baz'))
.pipe(gulp.dest('./foo-output/'));
});
getBarFiles() 或 getBazFiles() 可能返回一个空数组,
gulp.src(): Error: Invalid glob argument 允许不,
因此需要使用if 条件来包装流的创建。
所以问题是,我如何创建一个空流, 以便它可以与非空流上的另一个空合并?
【问题讨论】:
-
您可以考虑使用
gulp-util.noop创建一个空流。 -
@Chris 所以,“一个除了直接传递数据什么都不做的流”,不需要
gulp.src来传递数据吗? -
这就是我理解它的行为方式。但是,我没有使用此方法的任何过期时间,因此您需要查看这是否回答了您的问题(这就是为什么我将其发布为评论,而不是作为答案)。
标签: javascript stream gulp