【发布时间】:2016-03-21 22:13:21
【问题描述】:
我使用del包删除一个文件夹:
gulp.task('clean', function(){
return del('dist/**/*', {force:true});
});
...但是如果dist 文件夹包含许多子目录[递归地],有什么简单的方法可以删除它?
Ps:我不想这样:dist/**/**/**/**/**/**/...,子目录很多的时候。
【问题讨论】:
标签: gulp
我使用del包删除一个文件夹:
gulp.task('clean', function(){
return del('dist/**/*', {force:true});
});
...但是如果dist 文件夹包含许多子目录[递归地],有什么简单的方法可以删除它?
Ps:我不想这样:dist/**/**/**/**/**/**/...,子目录很多的时候。
【问题讨论】:
标签: gulp
您的代码应如下所示:
gulp.task('clean', function(){
return del('dist/**', {force:true});
});
根据npm del docs“**”删除dist的所有子目录(ps:不要删除dist文件夹):
“glob 模式 ** 匹配所有子项和父项。”
【讨论】:
dist/**和dist/**/*有什么区别吗?由于** 匹配'/' 及其子元素,而* 匹配除/ 之外的任何字符,我认为它们是相同的。你怎么看?
根据文档: glob 模式 ** 匹配所有子项和父项。 您也必须明确忽略父目录
gulp.task('clean', function(){
return del(['dist/**', '!dist'], {force:true});
});
更多信息在这里:del documentation
【讨论】:
进口:
const { src, dest, series, parallel } = require('gulp');
const del = require('del');
一行:
function clean(cb) {
del(['./dist/'], cb());
}
或者,分两行:
function clean(cb) {
del(['./dist/']);
cb();
}
最后:
exports.default = series(clean, parallel(process1, process2));
【讨论】: