nodejs实现读取本地目录生成文件树

实现思路:

首先,表示目录的对象结构应该是这样的,

type treeObj = {
  "dir": string, // 文件夹路径
  "childFiles": { //子文件
    "short": string; // 文件名
    "full": string; // 完成路径
  }[],
  "childDir": { //子文件夹
    [string]: treeObj
  }
}

具体细节:

  1. 读取给定的目标文件夹,不是文件夹的另作处理,获取所有文件和文件夹组成的数组;
  2. 循环数组,判断是文件夹还是文件,文件的话直接 push 到 childFiles;
  3. 文件夹的话,先把当前文件夹作为 key,存到父级文件夹的 childDir 属性下,然后自调用传当前文件夹路径;
  4. 以上步骤重复,直到达到最底层空文件夹或该文件夹只有文件;
  5. 根据得到的树形对象,生成 html 文件并写入 dom 节点即可;

查看代码实现,移步至 node-dir-tree

你可能感兴趣的:(nodejs,nodejs,node.js)