结合Gulp任务

时间:2015-09-04 05:04:03

标签: javascript gulp

我正在运行几个Gulp任务。虽然按照我的方式运行它们完全没问题,但我一遍又一遍地重复使用相同的代码而且我觉得我可以减掉一些脂肪。

gulp.task('task1', function(){
    return gulp.src('bower_components/file1.js')
        .pipe(concat('file1-min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('javascripts'));
});

gulp.task('task2', function(){
    return gulp.src('bower_components/file2.js')
        .pipe(concat('file2-min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('javascripts'));
});

gulp.task('task3', function(){
    return gulp.src('bower_components/file3.js')
        .pipe(concat('file3-min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('javascripts'));
});

我有很多这样的任务,所以希望这样的事情是可能的。

2 个答案:

答案 0 :(得分:0)

我对此不确定,但请尝试。

gulp.task('combined', [
  'task1',
  'task2',
  'task3',
]);

使用gulp combined

运行它

答案 1 :(得分:0)

尝试使用gulp-param:https://www.npmjs.com/package/gulp-param

var gulp = require('gulp-param')(require('gulp'), process.argv);

这将允许您从cli传递参数,如下所示:

$ gulp task --id 1
$ gulp task --id 2
$ gulp task --id 3

然后您可以将 id 连接到字符串

gulp.task('task', function(id){
    return gulp.src('bower_components/file' + id + '.js')
        .pipe(concat('file' + id + '-min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('javascripts'));
});