Skip to content

Shared Library通用工具函数库

为现代 Web 开发提供强大的工具函数集合

为什么选择 Shared Library?

🎯 真正的按需加载

不同于传统的工具库,Shared Library 从设计之初就采用单函数导出架构。每个函数都是独立的模块,打包工具可以精确地只打包你使用的代码,实现真正的零冗余。

typescript
// ✨ 每个函数都是独立模块
import { convertColor } from 'zcw-shared/functions/color/convertColor'
// 只会打包 convertColor 这一个函数,没有任何额外代码

🌍 一次编写,到处运行

通过依赖注入设计,同一份代码可以在任何 JavaScript 环境运行。需要环境 API 的函数会要求你传入依赖对象,而不是内部直接引用全局变量。

typescript
// 浏览器环境
await compressToTargetSize(file, options, {
  Image: window.Image,
  File: window.File,
  createObjectURL: window.URL.createObjectURL.bind(window.URL),
  createElement: document.createElement.bind(document)
})

// Node.js 环境(使用 jsdom)
const dom = new JSDOM()
await compressToTargetSize(file, options, {
  Image: dom.window.Image,
  File: dom.window.File,
  createObjectURL: dom.window.URL.createObjectURL.bind(dom.window.URL),
  createElement: dom.window.document.createElement.bind(dom.window.document)
})

💎 TypeScript 优先

100% TypeScript 编写,提供完整的类型定义和智能提示。不是简单的 .d.ts 文件,而是原生的类型推导和类型安全。

typescript
import type { ColorFormat } from 'zcw-shared/types/color'
import { convertColor } from 'zcw-shared/functions/color/convertColor'

// 完整的类型检查和自动补全
const color: string = convertColor('#ff0000', 'rgb')

安装

bash
npm install zcw-shared
# 或
pnpm add zcw-shared

快速开始 →