什么是 beetle
beetle 是一款现代化的前端函数工具库,旨在提升日常开发效率与项目一致性。它不仅内置了完整的 lodash-es、dayjs 工具集,还结合了实际业务场景,集成多种高频使用的函数方法,帮助团队在高质量代码开发中减少重复造轮子。
特性
beetle 主要具备以下特性:
-
🧰 内置 lodash-es 全量功能
开箱即用的 lodash-es 方法集合,涵盖常见的数据处理、数组操作、对象转换等能力,满足绝大多数业务开发场景。
-
📅 内置 dayjs 日期处理库
轻量级日期处理库(仅 2KB),支持时区转换、相对时间、多语言等插件扩展,API 与 Moment.js 保持一致。
-
⚙️ 融合业务场景的定制函数
集成多个结合公司业务特点封装的高频函数,提升复用率,统一项目函数风格,减少重复工作。
-
🌲 支持按需加载与 Tree Shaking
所有函数均可按需引入,自动支持 Tree Shaking,避免冗余打包,助力前端性能优化。
-
💡 良好的开发体验
统一的函数命名规范、丰富的类型提示与完善的单元测试,助你快速上手、放心使用。
适用场景
beetle 适用于所有现代前端项目,尤其适合:
- 需要处理数组、对象、字符串数据的业务场景
- 对函数复用、开发一致性有较高要求的团队
- 希望减少工具函数重复封装、避免工具库混乱的项目
使用文档
使用文档
文档构建
step1. 从master切release分支如: release/beetle_20250604
setp2. cicd 发布
ci地址 MODULE_NAME 选择 cn-web-yqg-beetle BUILD_ENV 选择:prod,最后点击确认
cd地址 BUILD_ENV 选择:prod 镜像选择要不输的版本,最后点击确认。
开发指南
$ pnpm install
$ pnpm dev
$ pnpm doc:dev
$ pnpm build
安装
npm install @yqg/beetle
yarn add @yqg/beetle
pnpm add @yqg/beetle
类型定义说明:
- TypeScript 项目:
@types/lodash-es 已包含在 @yqg/beetle 的依赖中,安装时会自动安装,无需单独安装。可以直接使用所有 lodash 方法并获得完整的类型推断。
dayjs 自带 TypeScript 类型定义,无需额外安装。
- JavaScript 项目:可以直接使用所有 lodash 和 dayjs 方法。
使用
import { cloneDeep, add } from '@yqg/beetle';
cloneDeep({});
console.log(add(1, 2));
import { arrayToTree } from '@yqg/beetle';
arrayToTree([], { idKey: 'id', parentIdKey: 'parentId', childrenKey: 'children' });
import b from '@yqg/beetle'
b.arrayToTree([], { idKey: 'id', parentIdKey: 'parentId', childrenKey: 'children' });
b.cloneDeep({});
dayjs 使用
import { dayjs } from '@yqg/beetle';
dayjs().format('YYYY-MM-DD HH:mm:ss');
dayjs('2024-01-01').add(7, 'day').format('YYYY-MM-DD');
import { dayjs } from '@yqg/beetle';
import utc from 'dayjs/plugin/utc';
import timezone from 'dayjs/plugin/timezone';
import 'dayjs/locale/zh-cn';
dayjs.extend(utc);
dayjs.extend(timezone);
dayjs.locale('zh-cn');
dayjs().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss');
问题反馈
在使用过程中发现任何问题、或者有改善建议,欢迎在 GitLub Issues 进行反馈:https://gitlab.yangqianguan.com/web/yqg-beetle/-/issues