微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何强制gulp调用同步运行?

我想要下面的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 举报,一经查实,本站将立刻删除。

相关推荐