//同步目录删除
//异步 串行 并发 m目录 a.js a目录
const fs = require('fs');
const path = require('path');
//1、删除文件 fs.unlinkSync fs.readdirSync(子目录) fs.rmdirSync fs.statSync(isFile,isDirectory) 文件操作的api
/*
let dirs = fs.readdirSync('m');
dirs = dirs.map(item=>path.join('m',item));
console.log(dirs);//[ 'm\\a', 'm\\a.js' ]
dirs.forEach(item=>{
let statObj = fs.statSync(item);//获取文件的状态信息(文件的创建时间 修改时间...)
if(statObj.isFile())
{
fs.unlinkSync(item);
}
else
{
fs.rmdirSync(item);
}
});
fs.rmdirSync('m');
*/
//同步删除目录 先序 深度 广度 同步写法
function rmdirSync(dir){
//1.判断dir是不是一个目录
let statObj = fs.statSync(dir);
if(statObj.isDirectory())
{
let dirs = fs.readdirSync(dir);
//dirs = dirs.map((d)=>path.join(dir,d)); //a/b, a/a.js
//递归考虑两层情况
dirs.forEach(d=>rmdirSync(path.join(dir,d)));
fs.rmdirSync(dir);
}
else
{
fs.unlinkSync(dir);
}
}
rmdirSync('a');
//如何使用后序遍历 删除文件夹 path.dirname