我有这样的任务:
gulp.task('test', function(){
del('./build');
gulp.src('./test/**/*')
.pipe(gulp.dest('./build'));
});
本质上,这应该首先删除build
目录,然后它应该将一堆文件复制到新的build
目录。
我的问题:这两个命令是异步还是同步?在将文件复制到同一目录的新版本之前,del
运行和完成显然很重要。
如果它们是异步的,那么如何让它们同步运行?是我唯一的选择,将它们分解为单独的任务,并使del
任务依赖于"复制任务"?是否无法在单个任务中使流同步?
答案 0 :(得分:2)
如果您确实要同步删除目录,可以直接使用fs
:
var fs = require('fs');
gulp.task('test', function(){
fs.rmdirSync('./build');
return gulp.src('./test/**/*')
.pipe(gulp.dest('./build'));
});
答案 1 :(得分:0)
如果异步使用del()
,可以这样做:
del('./build', function(err) {
gulp.src('./test/**/*')
.pipe(gulp.dest('./build'));
});
答案 2 :(得分:0)