目录树
node实现目录树
const fs = require("fs");
const path = require("path");
function tree(target,deep){ // taeget 表示当前文件的绝对路径 deep 表示层级
let prev = new Array(deep).join("┃");
let infos = fs.readdirSync(target); // 读取当前文件目录
let files = []; // 创建一个存放文件的数组
let dirs = []; // 创建一个存放文件夹的数组
infos.forEach(item =>{ // 遍历获取到的当前文件
let tmpdir = path.join(target,item); // 拼接文件路径
let stat = fs.statSync(tmpdir);
if(stat.isFile()){
files.push(item);
}else{
dirs.push(item);
}
});
dirs.forEach(item =>{
console.log(`${prev├─ ${item}}`);
let nextTarget = path.join(target,item);
let nextDeep = deep + 1;
tree(nextTarget,nextDeep);
});
let count = filrs.length - 1;
fies.forEach(item =>{
if(count--){
console.log(`${prev}├─ ${item}`)
}else{
console.log(`${prev}└─ ${item}`);
}
});
}
tree(__dirname,1);
如果有问题欢迎指正批评,我会继续努力加油的 ^ _ ^