有没有办法使用gulp-clean,而不是传入我想要删除的文件或目录,删除目录中与特定文件名不匹配的所有内容?
例如,如果我在目录“dir”中有3个文件:
dir/a.js
dir/b.js
dir/c.js
我想要做什么的示例伪代码(删除/dir/中不是a.js的所有内容:
gulp.src('!./dir/a.js').pipe(clean());
发布于 2015-02-17 01:50:38
这应该是可行的:
var gulp = require('gulp');
var del = require('del');
gulp.task('clean', function(cb) {
del(['dir/**/*', '!dir/a.js'], cb);
});
如果排除的文件在子目录中,则需要排除该目录,使其不被删除。例如:
del(['dir/**/*', '!dir/subdir', '!dir/subdir/a.js'], cb);
或者:
del(['dir/**/*', '!dir/subdir{,/a.js}'], cb);
发布于 2016-09-06 14:50:51
gulp-filter可用于过滤来自gulp流的文件:
var gulp = require('gulp');
var filter = require('gulp-filter');
gulp.src('**/*.js')
.pipe(filter(['*', '!dir/a.js']))
.pipe(clean());
https://stackoverflow.com/questions/28546728
复制相似问题