gulp 清理文件/文件夹(cleanup)

删除文件或文件夹时,并不会访问文件的内容,因此没有理由非要使用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]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.