2015-11-06 62 views
0

我有4個任務來清理構建,構建樣式& javascripts並創建資產清單。我的默認任務如下所示:Gulp任務不能順序工作

gulp.task('default', function(callback) { 
    runSequence('clean', ['styles', 'scripts'], 'version', callback); 
}); 

因此,這個工作完美,但'版本'的任務。它不會創造任何東西,也沒有任何作用。

gulp.task('version', function() { 

    gulp.src(utils.dst('**/*')) 

     // create content hashed filenames 
     .pipe(rev()) 
     .pipe(gulp.dest(utils.dst())) 

     // create asset manifest 
     .pipe(rev.manifest()) 
     .pipe(gulp.dest(utils.dst())) 

}); 

如果我跑做gulp clean; gulp styles; gulp scripts; gulp version;版本任務將創建所需的資產清單。

這是運行默認任務的輸出:

Starting 'default'... 
Starting 'clean'... 
Finished 'clean' after 6.87 ms 
Starting 'styles'... 
Finished 'styles' after 7.63 ms 
Starting 'scripts'... 
Finished 'scripts' after 2.96 ms 
Starting 'version'... 
Finished 'version' after 2.25 ms 
Finished 'default' after 22 ms 

做任何人看到這個錯誤怎麼辦?當我運行版本任務時,可能生成的資產還沒有,但這就是爲什麼我按順序運行任務。

任何建議如何我可以解決這個問題?

+1

[按順序運行Gulp任務似乎不工作]的可能的副本(http://stackoverflow.com/questions/33240780/running-gulp-tasks-in-sequence-does-not-seem-to-work ) – Louis

回答

0

你必須返回流,像這樣:

gulp.task('version', function() { 

    return gulp.src(utils.dst('**/*')) 

     // create content hashed filenames 
     .pipe(rev()) 
     .pipe(gulp.dest(utils.dst())) 

     // create asset manifest 
     .pipe(rev.manifest()) 
     .pipe(gulp.dest(utils.dst())) 

}); 

否則,如果你的任務完成與否一飲而盡不知道!