Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在node.js中有条件地管道输出?_Javascript_Node.js_Stream_Pipe_Gulp - Fatal编程技术网

Javascript 如何在node.js中有条件地管道输出?

Javascript 如何在node.js中有条件地管道输出?,javascript,node.js,stream,pipe,gulp,Javascript,Node.js,Stream,Pipe,Gulp,我希望只有当我的第一个流满足某些条件时,我的流才能通过管道传输到另一个流 es = require('event-stream'); var checkBuffer = function() { return es.map(function(file, cb) { if (!file.isBuffer()) { cb(); } else { cb(null, file); } });

我希望只有当我的第一个流满足某些条件时,我的流才能通过管道传输到另一个流

es = require('event-stream');

var checkBuffer = function() {
    return es.map(function(file, cb) {
        if (!file.isBuffer()) {
            cb();
        } else {
            cb(null, file);
        }
    });
};

module.exports = function() { checkBuffer.pipe( mysteryFoo()); return checkBuffer; };
我只想在传入checkBuffer的文件通过isBuffer的情况下通过管道传输到mysteryFoo,否则我不希望发生这种情况

将其输出传输到此模块的函数是gulp.src'/some dest/**'

谢谢

看一看,它使用后台检查乙烯基文件是否符合条件

从gulp match中提取的用法示例:

var gulpmatch = require('gulp-match');
var map = require('map-stream');

var condition = true; // TODO: add business logic here

vinylfs.src('path/to/file.js')
    .pipe(map(function (file, cb) {
        var match = gulpmatch(file, condition);
        if (match) {
          // it matched, do stuff
        }
        cb(null, file);
    }));