我先贴上代码:
module.exports ={
deleteFolder: function (path) {
var _this = this;
var files = [];
if( fs.existsSync(path)) {
files = fs.readdirSync(path);
console.log(files);
files.forEach(function (file, index) {
var curPath = p.join(path, file);
if( fs.statSync(curPath).isDirectory() ) {
_this.deleteFolder(curPath);
} else {
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
console.log('deleteFolder success')
},
deleteProjectFolder: function (path) {
var _this = this;
var files = [];
if(fs.existsSync(path)) {
files = fs.readdirSync(path);
files.forEach(function (file, index) {
var curPath = p.join(path, file);
if( fs.statSync(curPath).isDirectory() ) {
_this.deleteFolder(curPath);
}
});
fs.rmdirSync(path);
}
console.log('deleteFolder success')
}
}
本人项目需要对文件夹进行删除的操作,在网上找了找,于是有了方法deleteFolder
,但是发现这个方法只能删除包含文件的文件夹
,若是文件夹中嵌套文件夹
,这个方法就不行了。于是有了自己写的方法deleteProjectFolder
。可以发现后者与前者几乎一样,但是后者能删除任意嵌套的文件夹
。。我觉得应该有可以优化的地方,但是排了一天bug了,心累,希望大佬们帮帮忙指点一下。
用这个fs-extra
不仅包含删除操作,还有一些其他增强的文件操作方法,很好用,如果还有其他问题,欢迎追问