2016-10-03 74 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,我还是会得到'意外的令牌导入'。但那与问题无关。 –