Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
Gulp:在返回最终管道之前,我可以将管道的不同部分存储在变量中吗?_Gulp - Fatal编程技术网

Gulp:在返回最终管道之前,我可以将管道的不同部分存储在变量中吗?

Gulp:在返回最终管道之前,我可以将管道的不同部分存储在变量中吗?,gulp,Gulp,我需要建立一个吞咽管道,可能有条件地包括某些步骤。比如说,我想在文件顶部添加一个头,用于生产,但不用于开发环境,或者类似的东西。是否可以构建管道的第一个公共部分,将其存储在变量中,然后检查特定条件,并根据其构建管道的其余部分,如下所示: function buildCSS() { var processors = [ atImport, cssnano ]; var stylesTargetDirectory = path.join(gl

我需要建立一个吞咽管道,可能有条件地包括某些步骤。比如说,我想在文件顶部添加一个头,用于生产,但不用于开发环境,或者类似的东西。是否可以构建管道的第一个公共部分,将其存储在变量中,然后检查特定条件,并根据其构建管道的其余部分,如下所示:

function buildCSS() {
    var processors = [
        atImport,
        cssnano
    ];

    var stylesTargetDirectory = path.join(global.paths.buildDirectory, 'styles')

    var lessToCss = gulp.src(global.paths.lessMain)
        .pipe(less({
            paths: [ global.paths.stylesDirectory ]
        }))
        .pipe(postcss(processors))

    var result = foo === 'bar' ? // a condition I am checking for
        lessToCss.pipe(header('hello world') // this is gulp-header
        .pipe(gulp.dest(stylesTargetDirectory)) :
        lessToCss
        .pipe(gulp.dest(stylesTargetDirectory))

    return result;
}
它可以很好地用于单个任务,但我只是有点害怕当我开始组合任务时它会咬我。这种动态构建管道的方法看起来太好了,不可能是真的,因为如果它是正确的,那么我不理解使用
gulpif
lazypipe
的目的。如果可能的话,我宁愿避免,因为他们脾气暴躁,破坏了我的任务


你觉得怎么样?

如果()的话,你可以试着喝一口。它要么将您的流传递到所需的任务,要么跳过并传递到下一个任务。更多信息,请参见他们的示例