如何连续运行组任务



我是新手。

我写了两个需要执行的任务。当我单独运行它们时,它们工作得很好。但是当我把它们组合在一起时,"替换"不起作用。

gulp.task('bundle-source', function () {
  return bundler.bundle(config);
});
gulp.task('bundle-config', function(){
   return gulp.src(['config.js'])
     .pipe(replace('src/*', 'dist/*'))
    .pipe(gulp.dest(''));
});
gulp.task('bundle', ['bundle-config', 'bundle-source']);

我认为问题是他们都操纵config.js。我认为第二个任务保存到磁盘时会覆盖第一个任务所做的更改。第二个任务大约30秒。

Gulp任务默认并行运行。因此,如果你的任务都在处理相同的文件,它们可能会踩到彼此的脚趾头。

你可以使用gulp的任务依赖项让它们一个接一个地运行。因此,如果bundle-config应该在bundle-source之前运行:

gulp.task('bundle-source', ['bundle-config'], function () {
  return bundler.bundle(config);
});

如果你需要它们一个接一个地运行,你也可以使用像run-sequence这样的包:

var seq = require('run-sequence');
gulp.task('bundle', function(cb) {
    return seq('bundle-config', 'bundle-source', cb);
});

最后,您可以使用gulp 4,它有一个内置机制来串行运行任务。

相关内容

  • 没有找到相关文章

最新更新