3

在写博客的时候经常会需要展示项目的目录结构,我电脑是windows的,tree命令不是很好使。能用Node就用Node! 所以就找了几个跨平台的。分别是tree-clitree-node-cli,这两个是一个作者。其中tree-node-cli是比较适合Linux用户的,大小写区分,而且还有API,但是目前不能直接生成文件。除了这种类型的,还有生成md的、能生成网页的等等,大家自己搜搜就好了。

安装tree-node-cli

npm install -g tree-node-cli

使用

执行如下命令即可在终端中生成,复制保存下来即可。

treee -L 3 -I "node_modules|.idea|objects|.git" -a --dirs-first

结果:

├── config

│ ├── config.js

│ ├── defaultSettings.js

│ ├── plugin.config.js

│ ├── proxy.js

│ └── themePluginConfig.js

├── mock

│ ├── notices.js

│ ├── route.js

│ └── user.js

├── public

│ ├── change

│ │ ├── asideNavImg

│ │ ├── img

│ │ └── js

│ ├── icons

│ │ ├── icon-128x128.png

│ │ ├── icon-192x192.png

│ │ └── icon-512x512.png

│ ├── favicon.png

│ └── ver.version

├── src

│ ├── assets

│ │ ├── MonitoringCenterImg

│ │ ├── Nav

│ │ ├── PlatformImg

│ │ ├── Rest

│ │ ├── Top

│ │ ├── blank.png

│ │ └── logo.svg

│ ├── components

│ │ ├── AddMember

│ │ ├── AddTags

│ │ ├── Authorized

│ │ ├── Crumbs

│ │ ├── GlobalHeader

│ │ ├── HeaderDropdown

│ │ ├── HeaderSearch

│ │ ├── Information

│ │ ├── MemberTab

│ │ ├── NoticeIcon

│ │ ├── OutSide

│ │ ├── PageLoading

│ │ ├── ParentOrg

│ │ ├── ResetPass

│ │ ├── RoleTree

│ │ ├── ServiceGovernance

│ │ ├── Ssologout

│ │ └── TreeModal

│ ├── e2e

│ │ ├── ****mocks****

│ │ ├── baseLayout.e2e.js

│ │ └── topMenu.e2e.js

│ ├── layouts

│ │ ├── BasicLayout.jsx

│ │ ├── BlankLayout.jsx

│ │ ├── index.less

│ │ └── SecurityLayout.jsx

│ ├── models

│ │ ├── AsideNavStore.js

│ │ ├── global.js

│ │ ├── Home.js

│ │ ├── LogCenter.js

│ │ ├── login.js

│ │ ├── MonitoringCenter.js

│ │ ├── Platform.js

│ │ ├── ServiceGovernance.js

│ │ └── setting.js

│ ├── pages

│ │ ├── .umi

│ │ ├── LogCenter

│ │ ├── MonitoringCenter

│ │ ├── Platform

│ │ ├── ServiceGovernance

│ │ ├── 404.jsx

│ │ ├── Authorized.jsx

│ │ └── document.ejs

│ ├── services

│ │ ├── Home.js

│ │ ├── LogCenter.js

│ │ ├── login.js

│ │ ├── MonitoringCenter.js

│ │ ├── NavStore.js

│ │ ├── Platform.js

│ │ ├── serviceGovernance.js

│ │ └── user.js

│ ├── utils

│ │ ├── authority.js

│ │ ├── authority.test.js

│ │ ├── Authorized.js

│ │ ├── cac.js

│ │ ├── date.js

│ │ ├── getEchart.js

│ │ ├── getIframeHeight.js

│ │ ├── getResUrl.js

│ │ ├── request.js

│ │ ├── tableIcon.js

│ │ ├── tree.js

│ │ ├── utils.js

│ │ ├── utils.less

│ │ └── utils.test.js

│ ├── global.jsx

│ ├── global.less

│ ├── manifest.json

│ └── service-worker.js

├── tests

│ ├── run-tests.js

│ └── setupTests.js

├── .editorconfig

├── .eslintignore

├── .eslintrc.js

├── .prettierignore

├── .prettierrc.js

├── .stylelintrc.js

├── CHANGELOG.md

├── jest-puppeteer.config.js

├── jest.config.js

├── jsconfig.json

├── package.json

└── README.md

解释

  • windows用户需要用treee代替tree,避免和系统的tree命令冲突。 treee
  • 指定路径的级别为3级。

    -L 3

  • 忽略文件夹(正则表达式匹配的,.git会匹配到.gitignore,所以.gitignore文件没有显示出来)。

    -I "node_modules|.idea|objects|.git"

  • 显示所有文件(默认前缀有"."的不会显示,例如".electron-vue")。

    -a

  • 目录在前,文件在后(默认是字母排序,和idea显示的顺序不一致)。

    --dirs-first

完整选项

-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                输出用法信息

卸载

npm uninstall -g tree-node-cli


playboy5566
3.1k 声望1.2k 粉丝

一个一直在坑里面的前端小学生