克服 Gulp 中的顺序执行挑战
在 Gulp 中,任务经常并发执行,阻碍顺序执行。当任务依赖于前面任务的完成时,这可能会带来挑战。
例如,考虑以下任务配置:
gulp.task "coffee", -> gulp.src("src/server/**/*.coffee") .pipe(coffee {bare: true}).on("error",gutil.log) .pipe(gulp.dest "bin") gulp.task "clean",-> gulp.src("bin", {read:false}) .pipe clean force:true gulp.task 'develop',['clean','coffee'], -> console.log "run something else"
在这种情况下,您希望develop首先执行clean,其次是咖啡,然后执行其他操作。然而,Gulp 的默认行为会导致 clean 和 Coffee 同时启动。
解决方案:利用 run-sequence 的力量
要实现顺序执行,请利用 run-sequence插件。安装后,修改代码如下:
var runSequence = require('run-sequence'); gulp.task('develop', function(done) { runSequence('clean', 'coffee', function() { console.log('Run something else'); done(); }); });
说明
run-sequence 允许您显式指定任务的执行顺序。这里,develop 被定义为一个接受完成回调的函数。在此函数中,将使用您希望顺序运行的任务数组来调用 runSequence。一旦所有指定任务完成,就会触发done回调,执行后续操作。
以上是如何保证Gulp中任务的顺序执行?的详细内容。更多信息请关注PHP中文网其他相关文章!