在写博客的时候经常会需要展示项目的目录结构,我电脑是windows的,tree命令不是很好使。能用Node就用Node! 所以就找了几个跨平台的。分别是tree-cli和tree-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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。