cc-frontend-utils
v0.4.8
Published
cc-frontend-utils: zero-dependency JavaScript utilities (tree, debounce, throttle, storage, query, date, deepClone).
Maintainers
Readme
cc-frontend-utils
一套零依赖的 JavaScript 工具函数库,提供 toTree、findTargetFromTree、debounce、throttle、deepClone、storage、buildQuery、parseQuery、formatDate、nativeWin,以及若干浏览器 / Node 端辅助函数。
注:0.4.5 是使用 vue-cli-service build --target lib --name cc-frontend-utils 打包的最后一个版本;0.4.6+ 改用 Vite 输出纯净的 ESM/CJS 包,0.4.8+ 拆出 cc-frontend-utils/node 子入口提供 Node 专用工具。
安装
npm install cc-frontend-utils使用(浏览器 / 同构)
// ES module
import { toTree, debounce, copyClip } from 'cc-frontend-utils';
// CommonJS
const { toTree, debounce, copyClip } = require('cc-frontend-utils');使用(Node 专用)
Node 端工具通过 cc-frontend-utils/node 子入口导入,避免把 node: 内置模块挤进浏览器 bundle:
import { success, error, md5, mkdirsSync, sendMail } from 'cc-frontend-utils/node';其中 sendMail 不再硬依赖 nodemailer,调用方传 transport 即可:
import nodemailer from 'nodemailer';
import { sendMail } from 'cc-frontend-utils/node';
const transport = nodemailer.createTransport({ host: '...' });
await sendMail({ transport, from: 'me@x', to: 'you@y', subject: 'hi', html: '<p>hi</p>' });每个导出函数在发布的包里还有 Markdown 文档,位于 cc-frontend-utils/docs/,完整入口见 docs/index.md。
API 概览
通用(cc-frontend-utils)
| 模块 | 导出 |
| --- | --- |
| tree | toTree、findTargetFromTree |
| function | debounce、throttle |
| object | deepClone |
| object-extra | arr2obj、getDataByKeys、getValue |
| storage | storage |
| url | buildQuery、parseQuery |
| url-builder | buildUrl |
| date | formatDate |
| browser | nativeWin、utils |
| clipboard | copyClip |
| cookie | getCookie |
| random | generateMixed |
| array | unique |
| legacy/date-legacy | timestampToTime、timeToString、stringToTime |
| legacy/url-legacy | obj2String |
Node 专用(cc-frontend-utils/node)
| 模块 | 导出 |
| --- | --- |
| result | success、error、notLogin |
| crypto-hash | md5、hash |
| random | generateMixed |
| order-param | orderParam |
| chinese-truncate | subChinaString |
| fs-utils | mkdirsSync |
| mail | sendMail(依赖由调用方注入,无需 nodemailer) |
构建
npm run build 会依次执行 vite build && node scripts/postbuild.js && node scripts/gendocs.mjs,生成 dist/(双入口 ESM/CJS + .d.ts)以及 dist/docs/ 下每个模块对应的 Markdown API 参考。
许可
MIT
