Skip to content

工具库系统 (@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)

安全写入文件(包含错误处理)。

基于 MIT 许可发布