@kdesigner/shared

中文文档
0.0.1发布于 2026/11/01MITTypeScriptESM + CJS零依赖

KDesigner 共享工具库 - 提供跨框架、跨包的通用工具函数和实用程序

中文使用文档
文档目录13 节
  1. 特性
  2. 安装
  3. 使用方式
  4. Namespace 导入(推荐)
  5. 按需导入
  6. 模块说明
  7. 通用工具 (utils)
  8. 类型检查和验证 (validation)
  9. 性能优化 (performance)
  10. 浏览器环境 (browser)
  11. 错误处理 (error)
  12. 开发
  13. 许可证

@kdesigner/shared

License TypeScript

KDesigner 共享工具库 - 提供跨框架、跨包的通用工具函数和实用程序。

特性

  • 🚀 高性能: 优化的算法实现和内存使用
  • 🔒 类型安全: 完整的 TypeScript 类型支持
  • 📦 按需导入: 支持 tree-shaking,减少打包体积
  • 🌐 跨平台: 支持浏览器和 Node.js 环境
  • 📚 完整文档: 详细的中文文档和示例

安装

pnpm add @kdesigner/shared

使用方式

Namespace 导入(推荐)

import { utils, validation, performance } from '@kdesigner/shared'

// 使用工具函数,避免命名冲突
const cloned = utils.deepClone(originalObject)
const isValid = validation.isEmail('[email protected]')
const debounced = performance.debounce(fn, 300)

按需导入

// 方式一:从具体模块导入(避免冲突)
import { deepClone, merge } from '@kdesigner/shared/utils'
import { debounce, throttle } from '@kdesigner/shared/performance'
import { isEmail, isString } from '@kdesigner/shared/validation'

// 方式二:使用 namespace 导入(推荐)
import { utils, performance, validation } from '@kdesigner/shared'

const cloned = utils.deepClone(obj)
const debounced = performance.debounce(fn, 300)
const isValid = validation.isEmail('[email protected]')

// 方式三:模块级 namespace 导入
import { DateUtils, StringUtils } from '@kdesigner/shared/utils'
const formatted = DateUtils.formatDate(new Date())

模块说明

通用工具 (utils)

  • 对象操作: 深拷贝、合并、过滤、路径操作
  • 数组操作: 去重、分组、排序、分块
  • 字符串处理: 格式化、大小写转换、截断
  • 数字处理: 格式化、计算、验证
  • 日期处理: 格式化、计算、验证

类型检查和验证 (validation)

  • 类型守卫: 精确的类型检查函数
  • 数据验证: 邮箱、手机号、身份证等格式验证
  • 结构验证: 对象结构和模式匹配

性能优化 (performance)

  • 防抖节流: debounce 和 throttle 函数
  • 缓存机制: memoize 和 LRU 缓存
  • 异步工具: delay、sleep、批量处理

浏览器环境 (browser)

  • DOM 操作: 安全的 DOM 查询和操作
  • 存储操作: localStorage 和 sessionStorage 封装
  • URL 处理: URL 解析、构建和查询参数处理
  • Cookie 操作: Cookie 读写和管理
  • 浏览器检测: 浏览器类型和特性检测

错误处理 (error)

  • 异常处理: try-catch 包装和错误边界
  • 重试机制: 可配置的重试策略
  • 日志记录: 分级日志和格式化
  • 错误上报: 错误收集和上报机制

开发

# 安装依赖
pnpm install

# 开发模式
pnpm dev

# 运行测试
pnpm test

# 测试覆盖率
pnpm test:coverage

# 类型检查
pnpm type-check

# 代码检查
pnpm lint

# 构建
pnpm build

许可证

MIT

版本与发布记录

@kdesigner/shared 共发布 12 个版本,首次发布于 2025/08/20;过去 12 个月发布了 4 个版本。

版本发布日期距今
0.0.1latest2026/11/011 天前
0.0.02026/11/011 天前
0.0.0-alpha.92026/09/301 个月前
0.0.0-alpha.82026/09/291 个月前
0.0.0-alpha.72025/09/041.2 年前
0.0.0-alpha.62025/09/041.2 年前

关于 @kdesigner/shared 的常见问题

@kdesigner/shared 是什么?

KDesigner 共享工具库 - 提供跨框架、跨包的通用工具函数和实用程序

如何安装 @kdesigner/shared?

在项目目录运行 npm install @kdesigner/shared,或使用 pnpm add / yarn add / bun add。

@kdesigner/shared 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@kdesigner/shared 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@kdesigner/shared 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.0.0 <25.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@kdesigner/shared 可以商用吗?

@kdesigner/shared 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@kdesigner/shared 还在维护吗?

最新版本 0.0.1 发布于 2026/11/01(1 天前);至今共发布 12 个版本,其中过去 12 个月发布了 4 个;首次发布于 2025/08/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。