2015-10-05 59 views
0

我有一個gulpfile中是手錶的任務,下面一飲而盡通知兩個任務時手錶調用任務完成

gulp.task('watch', function() { 
    gulp.watch('template/slick/assets/less/*.less', ['less']); // Watch all the .less files, then run the less task 
}); 

這則調用少編譯到該目錄中的CSS並將其移動到/ CSS /夾。

然後我有2個其他任務已經腳本到min,concat並將這些.css文件移動到dist文件夾。

我需要知道的是,當我的手錶調用較少的任務完成時,我可以通知/運行stylesmin,cssconcats任務嗎?我確實需要添加更多的代碼才能做到這一點。我看不到一個體面的通知/結束風格的做事方式。

下面是這是由鐘錶

gulp.task('less', function() { 
    return gulp.src('game/http/template/slick/assets/less/*.less') 
     .pipe(less()) 
     .pipe(gulp.dest('game/http/template/slick/assets/css/')) 
     .pipe(notify({message: 'Less compiled'})); 
}); 

回答

0

你可以定義你的任務與[]語法像下面互相依賴調用少任務。 (我假設你正在使用類似connect你開始看文件之前啓動服務器)

gulp.task('less', function() { 
    console.log('less'); 
}) 
gulp.task('stylesmin', ['less'], function() { 
    console.log('stylesmin'); 
}) 
gulp.task('cssconcats', ['stylesmin'], function() { 
    console.log('cssconcats'); 
}) 
gulp.task('test', ['connect', 'watch']); 

修改你的手錶揭開序幕的最後一個任務,cssconcats並一飲而盡會跑第一

的依賴
gulp.task('watch', function() { 
    gulp.watch('template/slick/assets/less/*.less', ['cssconcats']); // Watch all the .less files, then run the less task 
}); 

更改任何.less文件,輸出顯示任務按此順序正確運行;

less, stylesmin, cssconcats