# Directory Tree Generator **Repository Path**: yyt-0901/directory-tree-generator ## Basic Information - **Project Name**: Directory Tree Generator - **Description**: 一个基于 Node.js 的目录树生成工具,可以美观地显示目录结构,并支持导出为文本文件。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-14 - **Last Updated**: 2025-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📂 Directory Tree Generator 一个基于 Node.js 的目录树生成工具,可以美观地显示目录结构,并支持导出为文本文件。 ## ✨ 特性 - 🎯 清晰的树状结构显示 - 📂 文件夹和文件图标支持 - 🔍 支持隐藏文件显示 - 📏 可控制遍历深度 - 🚫 可排除特定文件/文件夹 - 💾 支持导出为文本文件 - 🎨 兼容 Linux `tree` 命令参数 ## 📦 安装 ### 方法一:直接使用 ```bash # 确保 dirtree.js 有执行权限 chmod +x dirtree.js ``` ### 方法二:全局安装(推荐) 在 `dirtree.js` 同级目录创建 `package.json`: ```json { "name": "directory-tree", "version": "1.0.0", "description": "终端目录树生成器", "main": "dirtree.js", "bin": { "dirtree": "./dirtree.js" }, "keywords": ["directory", "tree", "terminal"], "author": "Your Name", "license": "MIT" } ``` 然后运行: ```bash # 全局安装 npm install -g . # 或者使用 npm link npm link ``` ## 🚀 使用方法 ### 使用格式 ```bash node dirtree.js [...选项] ``` ### 基本使用 ```bash # 显示当前目录结构 dirtree # 显示指定目录结构 dirtree /path/to/your/project # 使用 node 运行(如果未全局安装) node dirtree.js ``` ### 选项说明 | 选项 | 说明 | 示例 | | :--------------------- | :----------------------------- | :------------------------------- | | `-h, --help` | 显示帮助信息 | `dirtree -h` | | `-a, --all` | 显示隐藏文件 | `dirtree -a` | | `-d, --depth <数字>` | 设置最大深度 | `dirtree -d 3` | | `-L <数字>` | 设置最大深度(兼容 tree 命令) | `dirtree -L 2` | | `-e, --exclude <列表>` | 排除文件/文件夹(逗号分隔) | `dirtree -e "node_modules,dist"` | | `--no-icons` | 不显示图标 | `dirtree --no-icons` | | `-t <路径>` | **新增**:导出为 txt 文件 | `dirtree -t ./outputs` | ### 使用示例 #### 显示目录结构 ``` # 显示当前目录(默认) dirtree # 显示指定项目目录 dirtree /home/user/my-project # 显示隐藏文件,最大深度3层 dirtree -a -d 3 # 排除 node_modules 和 .git 目录 dirtree -e "node_modules,.git" # 不显示图标,兼容 tree 命令格式 dirtree --no-icons -L 2 # 导出到当前目录 dirtree -t . # 导出到指定目录 dirtree -t ./outputs # 组合使用:导出指定目录的树结构 dirtree /path/to/project -a -d 3 -t ./documents # 完整示例:导出项目结构,排除无关文件,保存到文档目录 dirtree . -e "node_modules,dist,.git" -d 4 -t ./docs ``` ### 控制台输出 ``` 📁 目录树: /home/user/my-project ================================================== 📂 my-project ├── 📂 src │ ├── 📂 components │ │ ├── 📄 Header.js │ │ └── 📄 Footer.js │ ├── 📄 App.js │ └── 📄 index.js ├── 📂 public │ ├── 🌐 index.html │ └── 🖼️ favicon.ico ├── 📄 package.json ├── 📝 README.md └── 📄 .gitignore ``` ### 文件输出 当使用 `-t` 选项时,会在指定路径生成一个文本文件,文件名格式为: ``` directory-tree-{目录名}-{时间戳}.txt ``` 例如: ``` directory-tree-my-project-2024-01-15T10-30-25-123Z.txt ``` 文件内容与控制台输出一致,便于存档和分享。 ## 🛠️ 技术细节 ### 支持的图标类型 - 📂 文件夹 - 📄 JavaScript、文本文件 - ⚛️ React 文件(JSX/TSX) - 📘 TypeScript - 🌐 HTML 文件 - 🎨 CSS/SCSS/Less - 📝 Markdown - 🐍 Python - ☕ Java - 🖼️ 图片文件 - 📕 PDF 文件 - 📦 压缩文件 - 等等... ### 默认排除项 - `.git` - `node_modules` - `.DS_Store`(MacOS) ## ❓ 常见问题 ### Q: 如何永久排除某些文件? A: 可以修改代码中的 `defaultExclude` 数组,添加你经常需要排除的文件夹。 ### Q: 导出的文件在哪里? A: 使用 `-t .` 导出到当前目录,使用 `-t ./path` 导出到指定路径。 ### Q: 支持 Windows 吗? A: 是的,支持所有 Node.js 可运行的平台。 ### Q: 可以自定义图标吗? A: 可以修改 `getFileIcon()` 方法中的图标映射。 ## 📄 许可证 MIT License ## 🤝 贡献 欢迎提交 Issue 和 Pull Request!