2014-07-02 24 views
0

我有用於觀看文件更改的此代碼。 我期望'build-dev-mainjs'任務能夠先運行。然後$.livereload.changed應該接下來運行。但事實恰恰相反。在觀看任務之前更改回調火災吞噬手錶

// syncronous 
gulp.task('build-dev-mainjs', ['jshint', 'clean'], function() { 
    console.log('inmaindevjs'); 
    return gulp.src(['app/client/scripts/*.js', 
       'app/client/bower_components/**/*.js']) 
    .pipe(gulp.dest('public/assets/scripts')); 
}); 


gulp.watch('app/client/scripts/**/*.js', ['build-dev-mainjs']) 
    .on('change', $.livereload.changed); 

我想這種行爲,因爲每次更改後,建立-DEV-mainjs任務運行其複製到文件夾DIST的原因。服務器提供dist文件夾中的文件。

回答

0

安裝插件,一飲而盡:run-sequence

這裏有一個如何使用它的一個例子:

// This will run in this order: 
// * build-clean 
// * build-scripts and build-styles in parallel 
// * build-html 
// * Finally call the callback function 
gulp.task('build', function(callback) { 
    runSequence('build-clean', 
       ['build-scripts', 'build-styles'], 
       'build-html', 
       callback); 
}); 

這應該排序。

+0

@facebook - 做了這項工作?請注意,如果是的話 –

+0

它沒有具體解決手錶問題,但它解決了我面臨的類似問題,所以沒有upvote,但我接受答案。 – eguneys