如何在一项任务中执行多个 gulp 命令

2024-02-06

我很难理解如何在单个任务中处理多个 gulp 源。在这样的任务中:

gulp.task('task1', function (cb) {
    gulp.src('src/js/**/*').pipe(gulp.dest('dist'));
    gulp.src('src/css/**/*').pipe(gulp.dest('dist'));
    ...
});

我想处理所有不同的源文件,然后将任务标记为已完成,以便其他任务可以依赖于它的完成。

我知道有可能为每个单独的源使用单独的任务,但这会使一切变得更加复杂,并且会因为大量实际上不需要单独执行的任务而使编排器变得臃肿。


您可以将一组 glob 传递给gulp.src如果您对所有文件执行相同的操作。例如,

gulp.task('task1', function () {
  return gulp.src(['src/js/**/*', 'src/css/**/*']).pipe(gulp.dest('dist'));
});

请务必返回流,以便协调器知道该任务何时完成。

如果您对不同的文件集执行不同的操作,则可以在一个任务中合并流,如下所示:

var es = require('event-stream');
gulp.task('fancy-task', function () {
  return es.merge(
      gulp.src('*.js').pipe(some-js-plugin()),
      gulp.src('*.css').pipe(some-style-plugin))
      .pipe(gulp.dest('dist'));
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在一项任务中执行多个 gulp 命令 的相关文章