由于写README.md时需要用到展示目录树的功能,在搜索了一番后发现tree-node-cli比较符合要求,所以写个教程记录一下。
一.安装tree-node-cli
npm install -g tree-node-cli
二.简单使用
2.1只打印输出,执行如下命令即可在终端中生成,复制保存下来即可。
treee -L 3 -I "node_modules|.idea|objects|.git" -a --dirs-first
2.2输出保存,注意输出保存的命令要运行在window的命令行,运行在vscode,webstorm等终端的话,因为是powershell,格式不对,所以输出会乱码**(坑)**
treee -L 3 -I "node_modules|.idea|objects|.git" -a --dirs-first > list.md
备注:关于命令这块还有个坑 windows用户需要用treee代替tree,避免和系统的tree命令冲突。 treee
三.命令解释
- tree -L n 显示项目的层级。n表示层级数。比如你想要显示项目的2层结构,可以用tree -l 2
- tree -I pattern 用于过滤不想要显示的文件或者文件夹。比如你想要过滤项目中的node_modules文件夹,可以使用tree -I “node_modules”,如果想要过滤多个目录文件,也可以tree -I “node_modules|public|test_*”,最后一个使用到正则匹配,这样以test_开头的文件夹都不会被显示出来,目录与目录之间用竖线隔开,中间不要有空格
- tree > tree.md 将项目结构输出到tree.md这个文件与在windows DOS的tree命令是一样的,但是在DOS终端下无法使用类似linux下的一些参数,进行过滤操作
四.常用选项
-V, --version 输出版本号
-a, --all-files 打印所有文件,包括隐藏文件
--dirs-first 目录在前,文件在后
-d, --dirs-only 仅列出目录
-I, --exclude [patterns] 排除与模式匹配的文件。用 | 隔开,用双引号包裹。 例如 “node_modules|.git”
-L, --max-depth <n> 目录树的最大显示深度
-r, --reverse 按反向字母顺序对输出进行排序
-F, --trailing-slash 为目录添加'/'
-h, --help 输出用法信息
|