簡體   English   中英

節點/ Gulp同步刪除任務中的目錄

[英]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'));
});

似乎函數del.sync有效:

del.sync('./build');

“ del”包的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM