将不同gulp任务中的文件复制到同一文件夹

时间:2016-01-18 09:41:51

标签: stream copy gulp

我在这样的文件夹中有文件:

- source_a
--- file_x
--- file_y
--- file_z
- source_b
--- file_z
- dest

我希望将所有文件从source_a复制到dest,完成后我想将所有文件从source_b复制到dest,以便{{1}将被遗忘。

这是我的代码

file_z

但最终gulp.task("myCopy", ["copy_a"], function() { return gulp.src('source_b').pipe(gulp.dest('dest')) }); gulp.task("copy_a", [], function(theme) { return [ gulp.src('source_b').pipe(gulp.dest('dest')), gulp.src('other_stuff').pipe(gulp.dest('to_other_places')) ]; }); 中的所有文件都来自dest ...如果我在另一次运行中再次运行source_a它会起作用...我错过了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

为什么不创建2个复制任务并按顺序运行它们,如下所示:

gulp.task('copy_a', function(){
  // copy all from folder A 
  return gulp.src('source_a/**').pipe(gulp.dest('dest'))
});

gulp.task('copy_b', function(){
  // copy all from folder B
  return gulp.src('source_b/**').pipe(gulp.dest('dest'))
});

gulp.task('copy', function(cb) {
  var runSequence = require('run-sequence');

  runSequence('copy_a', 'copy_b', cb); // run in sequence
});

这样,您的copy任务按顺序运行,任务copy_b仅在copy_a完成后开始。

只需致电copy任务,即可开始使用。