2015-06-12 67 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