@taicode/common-base
v3.1.0
Published
基础工具库,提供常用的工具函数和类。
Downloads
625
Readme
@taicode/common-base
基础工具库,提供常用的工具函数和类。
📦 安装
npm install @taicode/common-base🚀 使用方式
完整导入
// 导入所有工具
import { catchIt, logger, debounce, throttle, Disposer } from '@taicode/common-base'按需导入
// 只导入需要的工具
import { catchIt } from '@taicode/common-base/catch'
import { logger } from '@taicode/common-base/logger'
import { debounce } from '@taicode/common-base/debounce'
import { throttle } from '@taicode/common-base/throttle'
import { Disposer } from '@taicode/common-base/disposer'🔧 快速开始
错误捕获示例
import { catchIt } from '@taicode/common-base/catch'
// 捕获 Promise 错误
const [result, error] = await catchIt(fetch('/api/data'))
if (error) {
console.error('请求失败:', error)
} else {
console.log('数据:', result)
}其他工具
更多工具和详细用法请查看各模块的类型定义或源码。
🛡️ 导出控制
为确保 API 稳定性,包使用 exports 字段控制模块导出:
使用方式
✅ 允许:
// 完整导入
import { catchIt, logger } from '@taicode/common-base'
// 按需导入
import { catchIt } from '@taicode/common-base/catch'❌ 禁止:
// 直接访问内部文件
import { catchIt } from '@taicode/common-base/catch/catch' // ❌配置
使用通配符模式自动映射所有子模块:
{
"exports": {
".": "./output/index.js",
"./*": "./output/*/index.js"
}
}优势:新增模块自动支持按需导入,无需手动配置。
🏗️ 开发
构建命令
npm run build # 构建项目
npm run dev # 开发模式(监听文件变化)
npm test # 运行测试添加新模块
- 在
source/下创建新模块目录 - 创建模块的
index.ts文件导出公共接口 - 在
source/index.ts中添加模块导出 - 编写单元测试
💡 新模块会自动支持按需导入,无需手动配置 exports。
📄 许可证
ISC
🤝 贡献
欢迎提交 Issue 和 Pull Request!
在提交代码前,请确保:
- 代码通过所有测试
- 添加了相应的单元测试
- 更新了相关文档
- 遵循现有的代码风格
