2015-09-25 30 views
0

我有下面的代碼片段運行我的任務:咕嘟咕嘟運行並完成任務退出,不運行gulp.dest()

gulp.task('default', ['js', 'css', 'test'], function() { 
    process.exit(); 
}); 

當不使用process.exit();線它的作品,我看到app-xxxxxx.js我的生成文件夾。這裏是我的js任務的簡化版本(邏輯保持在別人相同,但有不同的責任):

gulp.task('js', function(cb) { 
    var scripts = ['script1.js', 'etcetc.js']; 

    var g = gulp.src(javascripts) 
       .pipe(concat('app-xxxxx.js')) 
       .pipe(gulp.dest('public/build')); //the file isn't in public/build 

    setTimeout(cb, 100); 

    return g; 
}); 

我的目標是確保所有的我的任務完成,而在這個時候完成正確,退出一飲而盡。上面的代碼片段有什麼問題?

+0

gulp可能會認爲一旦流g完成,任務就完成了。我想你不想返回'g'。 –

+0

當我沒有回來時沒有工作g – Noah

+0

什麼「沒有工作」?接受回調應該就足夠了:https://github.com/gulpjs/gulp/blob/master/docs/API.md#async-task-support。無論哪種方式,都不需要'process.exit()'。如果所有任務完成,無論如何gulp將終止。 –

回答

-1

我希望能幫助,你不需要process.exit(),因爲任務完成吞掉始終如果你用「CONCAT」你的文件應該是這樣的:

var gulp = require('gulp'); 
    concat = require('concat'); 

gulp.task('task', function() { 
    gulp.src('js/*.js') 
    .pipe(concat('newFile.js', {newLine: ';'})) 
    .pipe(gulp.dest('js/build/')) 
}); 

終於寫出一飲而盡任務