我想要下面的gulp调用同步运行,一个接一个.但他们不遵循命令.
run-sequence节点模块在这里没有帮助,因为我没有尝试串行运行gulp任务(即它的语法类似于gulp.task(“mytask”,[“foo”,“bar”,“baz”]等等),而是如下所示串联“打电话”.
gulp.task("dostuff",function (callback) { gulp .src("...") .pipe(gulp.dest("..."); gulp .src("...") .pipe(gulp.dest("..."); gulp .src("...") .pipe(gulp.dest("..."); callback(); });
解决方法
您可以使用
async作为您的呼叫的控制流程,让他们只有一个任务,也避免您获得“金字塔效应”.所以这样的东西应该对你的用例很好:
var async = require('async'); gulp.task('yeah',function (cb) { async.series([ function (next) { gulp.src('...') .pipe(gulp.dest('...') .on('end',next); },function (next) { gulp.src('...') .pipe(gulp.dest('...') .on('end',next); } ],cb); });
这也将允许您有一些错误处理,并更好地针对问题发生的目标.
原文地址:https://www.jb51.cc/js/152802.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。