下面的代码需要部署到node上才能运行
主要使用unlinkSync删除文件,rmdirSync删除目录
使用statSync中的isDirectory判断是否为目录
思路:
- 判断目录是否存在,存在就去读取这个路径
- 遍历读取到的数据,进行判断,如果是一个目录利用迭代向内层读取,如果是一个文件则删除文件
- 删除空目录
const fs = require('fs');
const path = require('path');
//删除目录
let delDir = (dir) => {
//判断目录是否存在
if (fs.existsSync(dir)) {
//读取这个目录 返回的是一个数组,所以需要遍历
let fil = fs.readdirSync(dir);
fil.forEach(file => {
//拼接路径
let dirPath = path.join(dir, file);
//判断内层是否为一个目录
let isD = fs.statSync(dirPath).isDirectory();
if (isD) {
// 如果是目录再次进行读上面的操作
delDir(dirPath);
} else {
// 删除文件
fs.unlinkSync(dirPath);
}
});
// 删除空目录
fs.rmdirSync(dir);
}
};
delDir('../test');