mintal-utils:基于 Vue 3 的前端工具函数库

mintal-utils:基于 Vue 3 的前端工具函数库

最近对之前基于 Vue2 的工具库 liao_modules 做了一次全面升级,迁移至 Vue 3 + TypeScript + Vite 技术栈,并以全新项目名 mintal-utils 发布。

mintal-utils 是一套适用于现代前端项目的工具函数库,聚焦于常见开发场景下的高频工具封装。模块划分清晰,函数语义一致,类型提示完善,支持工程化按需引入。当前已应用于多个实际项目中,并会持续扩展与维护。

特性概览

  • 全量 TypeScript 编写,类型安全
  • 适配 Vue 3 + Vite 工程体系,支持 ESM 引入
  • 覆盖常用领域函数:字符串、数组、对象、加密、缓存、时间、计算、金额等
  • 模块化分类清晰,结构易维护、好查找
  • 轻依赖、稳定性优先,开箱即用

安装方式

1
2
pnpm add mintal-utils
# 或 yarn add mintal-utils

快速使用示例

1
2
3
4
5
6
import { MStringUtil, MTimeUtil, MArrayUtil, MUserInfoService } from 'mintal-utils';

const camel = MStringUtil.underline2Camel('hello_world', false);
const now = MTimeUtil.getCurrentDate();
const arr = MArrayUtil.getUnion([1, 2], [2, 3]);
const userInfo = MUserInfoService.getSessionUserInfo();

所有方法都有类型提示,TS 项目中可直接使用。

模块功能概览

模块名称 功能说明
MArrayUtil 数组交并集、分组、空判断等
MObjectUtil 对象深拷贝、类型判断、等值比较等
MStringUtil 字符串转化、格式校验、base64 等
MTimeUtil 当前时间、格式化、日期判断等
MValidateUtil 校验工具(邮箱、手机号、身份证等)
MCacheUtil 本地缓存封装,兼容 Cookie + Storage
MCalcUtil 精度加减乘除、列宽转换、四舍五入等
MMoneyUtil 金额转中文、保留小数点位等
MEncryptUtil 加密算法封装(如 MD5)
MFileUtil PDF base64 转换、Blob 导出等
MToolUtil URL 处理、函数防抖、浏览器信息等
MUserInfoService 用户信息相关服务封装

为什么不是 lodash / dayjs?

虽然 lodash 和 dayjs 都是非常成熟的库,但 mintal-utils 并不是”造轮子”,而是出于以下考虑:

更贴合业务场景

函数命名和行为是围绕实际开发中常见的场景语义封装,不再需要再额外封装一层。

模块清晰,语义一致

MArrayUtilMStringUtil 这样的结构,能更快定位函数来源,也方便 IDE 自动提示、文档编写。

减少冗余依赖,减小体积

mintal-utils 支持 tree-shaking,按需引入模块比直接使用 lodash 整包更轻量。

类型提示完备,源码可控

所有函数源码均可自定义维护,避免外部依赖变动影响项目稳定性,提升调试可控性。

本地 Demo 演示

项目包含完整 demo 页面,支持本地运行体验:

1
2
3
4
git clone https://github.com/Leo-Mintal/mintal-utils.git
cd mintal-utils
pnpm install
pnpm dev

基于 Vite 构建,运行快速,代码结构清晰。

工程依赖说明

核心依赖:

  • vue@^3.x:用于 demo 页面组件绑定
  • moment:时间格式辅助(可替换为 dayjs)
  • number-precision:处理浮点数计算精度
  • html2canvas:dom 截图与 base64 使用场景

适用场景

  • 中大型 Vue 3 项目中工具函数统一封装
  • B 端管理后台、前台业务项目通用逻辑提取
  • 自建组件库或 SDK 的通用函数支持层
  • 对依赖清晰度、语义一致性要求高的团队协作项目

未来规划

mintal-utils 将持续更新并逐步完善:

  • 增加数组/对象常用算法函数
  • 浏览器 UA 检测、设备识别封装
  • 增强 Node 环境兼容性(SSR/CLI 场景)
  • 提供 CDN + ESM 双版本打包

项目地址