我尝试使用gulp-clean删除目录中的所有文件夹和文件。
我的目录:
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
仅删除子文件夹在执行gulp清理期间出现此错误:
[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停止但错误提到的文件被删除。
重复" gulp clean"我终于可以取得成功了:
[14:53:54] Starting 'clean'...
[14:53:54] Finished 'clean' after 11 ms
你知道我怎么能避免这个错误吗?
我尝试了del并没有成功。
答案 0 :(得分: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});
});
这不是我想管理它的方式(通过管道),但效果很好。
答案 1 :(得分: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));
});
此任务不会破坏gulp管道。
为此,您需要安装以下模块:
npm install del vinyl-paths