删除文件或文件夹时,并不会访问文件的内容,因此没有理由非要使用gulp插件处理此事,因为gulp插件主要是用来处理文件流的。
gulp-clean和gulp-rimraf都已经deprecated,使用del和vinyl-paths来做此项工作。
直接删除文件
安装del
$ npm install --save-dev del
定义clean任务:
var gulp = require('gulp'); var del = require('del'); gulp.task('clean', function () { return del(['path1', 'path2', '!path3' ]); }); gulp.task('default', ['clean:mobile']);
可以为del传递单个路径,也可以传递一个路径数组,支持globbing。
从pipeline流中删除文件
如果想在流中处理之后删除某些文件,可以使用vinyl-paths来获取流中的文件路径,然后传递给del
var gulp = require('gulp'); var stripDebug = require('gulp-strip-debug'); // only as an example var del = require('del'); var vinylPaths = require('vinyl-paths'); gulp.task('clean:tmp', function () { return gulp.src('tmp/*') .pipe(vinylPaths(del)) .pipe(stripDebug()) .pipe(gulp.dest('dist')); }); gulp.task('default', ['clean:tmp']);
References:
[1]Delete files and folders
[2]gulp-rimraf
[3]gulp-clean
===
[erq]