2015-09-04 38 views
0

我有幾個Gulp任務正在運行。儘管按照我擁有的方式運行它們是非常好的,但我反覆使用相同的代碼,而且我覺得我可以減少一些脂肪。Combination Gulp Tasks

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')); 
}); 

我有相當多的這些任務,所以希望這樣的事情是可能的。

回答

0

我不確定這件事,但請嘗試。

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

與運行它gulp combined

0

嘗試使用一飲而盡-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')); 
});