node目录树

                  目录树

 

 1 const fs = require("fs");  
 2 const path = require("path"); 
 3 function tree(target,deep) { //    target:当前文件的绝对路径    deep:层级
 4     let prev = new Array(deep).join("┃"); 
 5     let infos = fs.readdirSync(target);  // 读取当前文件目录
 6     let files = [];  // 创建一个数组 用来存放文件
 7     let dirs = [];  // 创建一个数组 用来存放文件夹
 8 
 9     infos.forEach(item =>{  // 遍历获取到的当前文件
10         let tmpdir = path.join(target,item);  //拼接文件的绝对路径
11         let stat = fs.statSync(tmpdir);  // 获取文件的状态
12         if(stat.isFile()){  // 如果是一个文件
13             files.push(item);   // 存放在files数组中
14         }else{  // 如果不是一个文件
15             dirs.push(item);  // 存放在dirs数组中
16         }
17     });
18 
19     dirs.forEach(item => {  // 遍历dirs数组  打印文件夹并递归
20         console.log(`${prev}├─ ${item}`); 
21         let nexttarget = path.join(target,item); // 拼接文件夹的绝对路径 目的:以当前文件夹为目录
22         let nextdeep = deep + 1;  
23         tree(nexttarget,nextdeep)  // 再次调用tree函数  替换参数
24     });
25 
26     let count = files.length - 1;   // 定义一个count 表示当前存放文件的数组长度-1
27     files.forEach(item => {   // 遍历 files 数组
28         if(count--){  // 如果count不为 0 代表不是最后一个文件
29             console.log(`${prev}├─ ${item}`); 
30         }else{  // 如果count为0 代表是最后一个文件
31             console.log(`${prev}└─ ${item}`);  
32         }
33     })
34 }
35 
36 tree(__dirname,1);

 

 

刚刚学习了node 

用node做了一个简易的目录树  欢迎各位批评指教

 

posted @ 2019-02-21 20:38  木槿昔年~  阅读(366)  评论(0编辑  收藏  举报