2016-01-21 64 views
0

我有一個任務:咕嘟咕嘟手錶不重新編譯

gulp.task('styles', ['cleanup'], function() { 
'use strict'; 
log('Compiling Less files to :' + config.temp); 

return gulp 
    .src(config.less) 
    .pipe(less()) 
    .pipe(autoprefixer({browsers: ['last 2 versions', '> 5%']})) 
    .pipe(gulp.dest(config.temp)); 
}); 

這個任務,就像它應該當我手動調用它。它刪除config.temp中的文件(未在代碼片段中顯示),並將less重新編譯爲css並將其重新放置在config.temp目錄中。

問題是,當我嘗試內部gulp.watch運行此任務:

gulp.task('watch', function() { 
    gulp.watch(config.less, ['styles']); 
}); 

任務好好嘗試一下再工作。我可以看到吞噬了我在少量文件中做出的更改,我看到日誌輸出,沒有錯誤,但仍然沒有真正發生任務。我的CSS輸出保持不變。

另一個跡象表明,這些任務並沒有真正執行,這是吞噬時間;當我做手工需要更長的時間:

Gulp styles manual

那麼當吞氣表運行相同的任務:

enter image description here

我一直在下面的教程,做同樣的事情,我也有一些使用gulp.watch和work的示例文件。

我已經看過一些關於吞嚥手錶的提及,但我不確定這與gulp.watch是一樣的嗎?

希望這是一些明顯的錯誤,有人可以指出我。

+1

你試過像這樣調試過嗎? https://hansrwindhoff.wordpress.com/2015/05/05/debugging-task-runner-tasks-like-gulp-with-visual-studio-code-editordebugger/ –

+0

我在我的VS Code課程中也有一節顯示如何執行此操作(調試吞嚥) –

回答

0

我希望我可以刪除這個問題,因爲顯然沒有錯:Webstorm在刷新本身時太過流血,所以我一直認爲.css文件沒有改變。我只需要等待約45秒。對不起,浪費互聯網空間!

1

有些事情嘗試:

  1. 試試我的意見

  2. styles任務添加此提到的調試,你在源代碼中管之後。
    .pipe($.plumber()) // exit gracefully if something fails after this

也,請務必檢查您的吞氣的版本。