使用tree-node-cli生成樹狀目錄

在寫博客的時候常常會須要展現項目的目錄結構,我電腦是windows的,tree命令不是很好使。能用Node就用Node! 因此就找了幾個跨平臺的。分別是tree-clitree-node-cli,這兩個是一個做者。其中tree-node-cli是比較適合Linux用戶的,大小寫區分,並且還有API,可是目前不能直接生成文件。除了這種類型的,還有生成md的、能生成網頁的等等,你們本身搜搜就行了。vue

安裝tree-node-cli

npm install -g tree-node-clinode

使用

執行以下命令便可在終端中生成,複製保存下來便可。git

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

結果:

├── 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"npm

  • 顯示全部文件(默認前綴有"."的不會顯示,例如".electron-vue")。

    -ajson

  • 目錄在前,文件在後(默認是字母排序,和idea顯示的順序不一致)。

    --dirs-firstwindows

完整選項

-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-cliless

相關文章
相關標籤/搜索