@lucyjs/file-scanner
v1.1.0
Published
文件扫描工具
Downloads
841
Readme
@lucyjs/file-scanner
一个用于扫描文件系统的 TypeScript 工具库。
功能特点
- 支持递归扫描目录
- 可按文件扩展名过滤
- 支持忽略特定文件或目录
- 可选的模块自动导入功能
- 完整的 TypeScript 类型支持
安装
使用 npm:
npm install @lucyjs/file-scanner
使用 yarn:
yarn add @lucyjs/file-scanner
使用方法
import { FileScanner } from '@lucyjs/file-scanner';
// 创建扫描器实例
const scanner = new FileScanner({
dirPath: './src', // 要扫描的目录路径
recursive: true, // 是否递归扫描子目录
extensions: ['.ts', '.js'], // 要扫描的文件扩展名
ignore: ['node_modules'], // 要忽略的文件或目录
autoImport: true // 是否自动导入扫描到的模块
});
// 执行扫描
const results = await scanner.scan();
// 处理扫描结果
results.forEach(result => {
console.log('文件路径:', result.path);
console.log('文件名:', result.name);
console.log('扩展名:', result.ext);
if (result.module) {
console.log('导入的模块:', result.module);
}
});
API 文档
ScanOptions
扫描器配置选项接口:
| 参数 | 类型 | 必填 | 默认值 | 说明 | |------|------|------|--------|------| | dirPath | string | 是 | - | 要扫描的目录路径 | | recursive | boolean | 否 | true | 是否递归扫描子目录 | | extensions | string[] | 否 | [] | 要扫描的文件扩展名列表 | | ignore | string[] | 否 | [] | 要忽略的文件或目录路径列表 | | autoImport | boolean | 否 | true | 是否自动导入扫描到的模块 |
ScanResult
扫描结果接口:
| 属性 | 类型 | 说明 | |------|------|------| | path | string | 文件的完整路径 | | name | string | 文件名(不含扩展名)| | ext | string | 文件扩展名 | | module | any | 导入的模块(仅当 autoImport 为 true 时存在)|
FileScanner 类
主要的扫描器类,提供以下方法:
constructor(options: ScanOptions)
创建扫描器实例。
async scan(): Promise<ScanResult[]>
执行扫描操作,返回扫描结果数组。
注意事项
- 当使用
autoImport
功能时,请确保扫描的文件是可导入的模块格式。 - 路径可以是相对路径或绝对路径,内部会自动转换为绝对路径。
- 如果
extensions
数组为空,则会扫描所有文件。
许可证
MIT