@sop-cli/utils
v0.4.0
Published
> 前端通用工具函数库,基于 TypeScript 6.0+ 编写,支持 ESM / CJS / 浏览器 IIFE 全格式,无外部业务依赖,可在 Vue / React / 原生项目通用。
Readme
@sop-cli/utils
前端通用工具函数库,基于 TypeScript 6.0+ 编写,支持 ESM / CJS / 浏览器 IIFE 全格式,无外部业务依赖,可在 Vue / React / 原生项目通用。
特性
- ✅ 纯 TypeScript 编写,完整类型提示
- ✅ 支持 ESM / CommonJS / IIFE(CDN) 多格式产物
- ✅ 天然 Tree-Shaking 按需引入
- ✅ 零外部依赖,轻量无负担
- ✅ 严格遵循 ESLint 编码规范
- ✅ Monorepo 架构,可配合
@sop-cli/request等包协同使用
安装
# npm
npm install @sop-cli/utils
# pnpm
pnpm add @sop-cli/utils
# yarn
yarn add @sop-cli/utils
https://www.npmjs.com/package/@sop-cli/utils
使用方式
ESM 导入(推荐)
import { cleanQueryParams, deepClone, omit, uniqBy } from '@sop-cli/utils';CommonJS
const { cleanQueryParams } = require('@sop-cli/utils');CDN 全局引入 IIFE
<script src="https://unpkg.com/@sop-cli/utils/dist/index.iife.js"></script>
<script>
const { cleanQueryParams } = SopUtils;
</script>常用工具列表
对象 / 数组工具
deepClone深拷贝(规避 V8 delete 性能降级)omit剔除对象指定字段pick挑选对象指定字段uniqBy数组根据字段去重arrayToTree扁平数组转树形结构treeToArray树形结构转扁平数组
URL / 参数处理
cleanQueryParams清理空值、undefined、null 后序列化参数parseQuery解析 url query 为对象getUrlParam获取单个 url 参数
类型判断
isPlainObject是否纯对象isArray/isString/isNumber/isBooleanisNil/isEmpty空值判断
格式化工具
formatDate时间格式化formatMoney金额千分位格式化formatPercent百分比格式化
其他通用
sleep延时等待uuid生成简易唯一标识storage本地存储封装(localStorage/sessionStorage)
项目架构
packages/utils/
├── src/ # 源码目录
├── dist/ # 构建产物 ESM / CJS / IIFE / d.ts
├── tsconfig.json # TypeScript 配置
├── rolldown.config.ts # 打包配置
└── package.json配套生态
@sop-cli/request基于 Axios 企业级请求封装(解耦 UI、支持多框架)
License
MIT
