Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/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 使用concat步骤的不同参数多次运行管道段_Gulp - Fatal编程技术网

Gulp 使用concat步骤的不同参数多次运行管道段

Gulp 使用concat步骤的不同参数多次运行管道段,gulp,Gulp,我是这部电影的粉丝 我有一个吞咽任务,它可以像 gulp.task('cat', function() { gulp.src( <value-goes-here> ) . <many pipeline steps> . .pipe(concat(<key-goes-here>)) .pipe(gulp.dest('target/') . <more pipeline step

我是这部电影的粉丝

我有一个吞咽任务,它可以像

gulp.task('cat', function() {
     gulp.src( <value-goes-here> )
     .
     <many pipeline steps>
     .
     .pipe(concat(<key-goes-here>))
     .pipe(gulp.dest('target/')
     .
     <more pipeline steps to be run on 'dest/a.js' and 'dest/a1.js'>
     .
});
试试这个:

var Q = require('q');

gulp.task('cat', function() {
    var promises = Object.keys(files).map(function (key) {
        var deferred = Q.defer();
        var val = files[key];

        gulp.src(val)
            .
            <many pipeline steps>
            .
            .pipe(concat(key))
            .pipe(gulp.dest('target/')
            .
            <more pipeline steps to be run on 'dest/a.js' and 'dest/a1.js'>
            .
            .on('end', function () {
                deferred.resolve();
            });

        return deferred.promise;
    });
    return Q.all(promises);
});
var Q=require('Q');
吞咽任务('cat',函数(){
var promises=Object.keys(文件).map(函数(键){
var deferred=Q.deferred();
var val=文件[key];
大口src(val)
.
.
.管道(混凝土(图例))
.pipe(吞咽目标('target/'))
.
.
.on('end',函数(){
延迟。解决();
});
回报。承诺;
});
返回Q.all(承诺);
});
通过使用
组合流
流组合器
包,您还可以使用流而不是承诺来完成类似的场景

var Q = require('q');
var gulp = require('gulp');
var concat = require('gulp-concat');

var files = {
    'a.js': ['src/aa.js', 'src/aaa.js'],
    'a1.js': ['src/aa1.js', 'src/aaa1.js'],
};

gulp.task('cat', function() {
    var promises = Object.keys(files).map(function (key) {
        var deferred = Q.defer();
        var val = files[key];
        console.log(val);
        gulp.src(val)
            .pipe(concat(key))
            .pipe(gulp.dest('dest/'))
            .on('end', function () {
                deferred.resolve();
            });

        return deferred.promise;
    });
    return Q.all(promises);
});
var Q = require('q');

gulp.task('cat', function() {
    var promises = Object.keys(files).map(function (key) {
        var deferred = Q.defer();
        var val = files[key];

        gulp.src(val)
            .
            <many pipeline steps>
            .
            .pipe(concat(key))
            .pipe(gulp.dest('target/')
            .
            <more pipeline steps to be run on 'dest/a.js' and 'dest/a1.js'>
            .
            .on('end', function () {
                deferred.resolve();
            });

        return deferred.promise;
    });
    return Q.all(promises);
});