工具库系统 (@vue3-simple-electron/tools)
Vue3 + Electron 项目的通用工具库,提供跨环境的实用函数集合。
设计理念
在 Monorepo 架构中,将通用工具抽离为独立包具有以下优势:
- 解耦配置依赖:工具函数不依赖项目特定配置,可独立测试和复用
- 跨包复用:main、renderer、其他子包可共享同一套工具函数
- 职责单一:纯工具逻辑与业务逻辑分离,代码更清晰
- 易于维护:统一管理,避免工具函数散落各处
快速开始
通用工具(跨环境)
适用于浏览器和 Node.js 环境:
javascript
const {
// 异步工具
sleep,
delay,
timeout,
retry,
// 字节处理
formatBytes,
formatSpeed,
parseBytes,
// Promise 工具
Deferred,
// 版本比较
compareVersions,
// 字符串处理
removeBom,
safeJsonParse,
// 格式转换
formatToHump,
formatToLine,
formatHumpLineTransfer,
// DOM 操作
injectScrollbarStyles,
} = require('@vue3-simple-electron/tools');Node 专用工具
仅适用于 Node.js 环境:
javascript
const {
// 文件操作
ensureDirectoryExists,
safeReadFile,
safeWriteFile,
safeDeleteFile,
// 系统命令(Windows)
executeSystemCopy,
retryWithRobocopy,
} = require('@vue3-simple-electron/tools/node');API 说明
异步工具
sleep(ms) / delay(ms)
异步延迟函数。
javascript
await sleep(1000);retry(fn, retries, interval)
失败重试机制。
字节处理
formatBytes(bytes)
将字节数转换为人类可读格式 (KB, MB, GB)。
javascript
formatBytes(1024); // "1 KB"字符串与格式
formatToHump(value)
中划线转驼峰。
formatToLine(value)
驼峰转中划线。
Node 文件操作
ensureDirectoryExists(dirPath)
确保目录存在,不存在则递归创建。
safeWriteFile(filePath, data)
安全写入文件(包含错误处理)。