2016-10-03 72 views
0

我在設置一個簡單的任務上有困難。我想通過gulp-babel傳遞文件來運行腳本,但從不會調用end回調。吞嚥結束回調不叫

我也試過finish。唯一的回調是data,但它不適用於我,因爲我需要在所有文件通過babel運行後運行它。

gulp-debug顯示文件已被正確找到。

有沒有粘性?

(function() { 
    'use strict'; 

    var gulp = require('gulp'), 
     babel = require('gulp-babel'), 
     debug = require('gulp-debug'); 


    gulp.task('parseReviews', function() { 
     gulp.src(['scripts/parseReviews.js', 'src/**/*.js']) 
     .pipe(debug()) 
     .pipe(babel()) 
     .on('end', function() { 
      const foo = require('../../scripts/parseReviews'); 
      console.log(foo); 
     }); 
    }); 
})(); 
+0

你嘗試搭上了「錯誤」的事件,以確保在運行您的管道沒有發生錯誤? https://nodejs.org/api/stream.html#stream_event_error –

+0

你確定這個模式「src/**/*。js''沒有選擇大量的文件嗎?嘗試運行它並打開一個任務管理器(在Linux的情況下),並檢查是否存在吞噬。如果你能夠在任務管理器中看到它,並且它正在努力工作,那麼這種模式很可能是錯誤的。 –

+0

謝謝你的提示,魯文。我剛剛嘗試過,錯誤回調沒有被調用。 –

回答

1

你需要從你的任務return您的直播

gulp.task('parseReviews', function() { 
    return gulp.src(['scripts/parseReviews.js', 'src/**/*.js']) 
    .pipe(debug()) 
    .pipe(babel()) 
    .on('end', function() { 
     const foo = require('../../scripts/parseReviews'); 
     console.log(foo); 
    }); 
}); 
+0

工作,謝謝!現在我必須弄清楚爲什麼儘管之前調用了babel,我還是會得到'意外的令牌導入'。但那與問題無關。 –