[英]Node/Gulp synchronous deletion of directory within task
我有一個像這樣的任務:
gulp.task('test', function(){
del('./build');
gulp.src('./test/**/*')
.pipe(gulp.dest('./build'));
});
本質上,應該先刪除build
目錄,然后再將一堆文件復制到新的build
目錄。
我的問題:這兩個命令是異步還是同步? 在將文件復制到同一目錄的新版本之前, del
運行並完成,這一點很重要。
如果它們是異步的,那么如何使它們同步運行? 我唯一的選擇是將它們分解為單獨的任務,並讓del
任務依賴於“復制任務”嗎? 沒有辦法在單個任務中使流同步嗎?
如果您確實要同步刪除目錄,則可以直接使用fs
:
var fs = require('fs');
gulp.task('test', function(){
fs.rmdirSync('./build');
return gulp.src('./test/**/*')
.pipe(gulp.dest('./build'));
});
如果異步使用del()
,則可以這樣做:
del('./build', function(err) {
gulp.src('./test/**/*')
.pipe(gulp.dest('./build'));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.