2015-06-12 66 views
1

我嘗試使用gulp-clean從我的目錄中刪除所有文件夾和文件。吞噬:「Event.js:85」在吞食過程中

我的目錄:

app 
---subfolder1 
---subfolder2 
------subfolder 
------file1 
etc 

我的代碼:

gulp.task('clean',function(){ 
    var PATH_TO_CLEAN = '../app/**'; 
    if(argv.path != null) 
     PATH_TO_CLEAN = '../app/'+argv.path+'/**'; 

    return gulp.src(PATH_TO_CLEAN, {read: false}) 
     .pipe(clean({force: true})) 
     .on("error", handleError); 
}); 

// Error handler 
function handleError(err) { 
    console.log(err.toString()); 
    this.emit('end'); 
} 

默認路徑是 '../app' 但你可以使用只刪除子文件夾指標的影響--path = subfolder_dir

在執行吞吐清理期間,這個錯誤發生:

[14:43:08] Starting 'clean'... 
events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: ENOENT, lstat 'C:\some_path\file.type' 
    at Error (native) 

Gulp停止,但錯誤中提到的文件被刪除。

重複「一口乾淨」我終於可以達到更迭:

[14:53:54] Starting 'clean'... 
[14:53:54] Finished 'clean' after 11 ms 

你有什麼想法,我如何才能避免這個錯誤?我試過del沒有成功。

回答

0

找到解決方案:

gulp.task('clean',function(){ 
    var PATH_TO_CLEAN = '../app/**'; 
    if(argv.path != null) 
     PATH_TO_CLEAN = '../app/'+argv.path+'/**'; 

    del([PATH_TO_CLEAN], {force: true}); 
}); 

這不是我想管理這(通過管道)的方式,但效果很好。

0

gulp-clean已棄用,因此不應再使用。

在我的項目skeletonSPA,我用下面的任務來清洗我的環境:

gulp.task('clean', function() { 
    var del = require('del'); 
    var vinylPaths = require('vinyl-paths'); 

    return gulp.src([PATH_TO_CLEAN]) 
    .pipe(vinylPaths(del)); 
}); 

此任務不破吞氣管道。

對於這個工作,你需要安裝以下模塊:

npm install del vinyl-paths