我使用
del
包来删除文件夹:
gulp.task('clean', function(){
return del('dist/**/*', {force:true});
});
...但是,如果
dist
文件夹及其包含许多子目录[递归],有没有简单的方法可以删除它及其所有内容?
Ps:我不想这样做:
dist/**/**/**/**/**/**/...
,当有很多子目录时。
你的代码应该是这样的:
gulp.task('clean', function(){
return del('dist/**', {force:true});
});
根据npm del docs“**”删除dist的所有子目录(ps:不要删除dist文件夹):
“全局模式 ** 匹配所有子级和父级。”
根据文档: 全局模式 ** 匹配所有子项和父项。 您也必须明确忽略父目录
gulp.task('clean', function(){
return del(['dist/**', '!dist'], {force:true});
});
此处提供更多信息:del 文档
进口:
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));
如果您收到错误:
The requested module 'del' does not provide an export named 'default'
,那是因为 del 有重大更改(至少从版本 7 开始)
您应该使用:
import {deleteAsync} from 'del'
function clean() {
console.log("Clean")
return deleteAsync([
'dest/fileToDelete*',
'directoryToDelete'
])
}