常用工具库整理
收集个人使用过或遇到的类库
工具库
时间处理
- moment JavaScript 日期处理类库
- dayjs 一个轻量的处理时间和日期的
JavaScript
库,和 Moment.js 的 API 设计保持完全一样 - date-fns 轻量级的
JavaScript
日期库,纯函数实现支持模块化 - lunar-javascript 支持阳历、阴历、佛历和道历的日历工具库
请求处理
- axios 是一个基于
promise
的HTTP
库,可以用在浏览器和node.js
中
精度处理
- big.js 用于任意精度的十进制算术运算
- number-precision 超小型精确四则运算
字符串处理
- change-case 快速转换字符串格式,支持
camelCase
,PascalCase
,Capital Case
,snake_case
,param-case
,CONSTANT_CASE
等 - emoji-regex 匹配
emoji
的正则表达式
动画
- typed.js 动态打字效果
- tween.js 补间动画引擎
- lottie 基于跨平台动画渲染库,用于解析使用 Bodymovin 导出为
json
的 Adobe After Effects 动画 - gsap GreenSock 动画平台(GSAP)可以对
JavaScript
可以操作的所有内容进行动画处理
特效
- canvas-confetti 五彩纸屑特效
本地存储
- localForage 一个快速、简单的
JavaScript
存储库(中文文档)
滚动处理
- better-scroll 重点解决移动端(已支持 PC)各种滚动场景需求的插件
事件处理
- hotkeys-js 用于捕获键盘输入和输入的组合键
图片处理
- html2canvas 页面截图
- medium-zoom 为图片提供可缩放的功能
- 二维码
- qrcode QR 码和 2d 条码生成器(支持浏览器和
Node
) - qrcode.react
React
组件 - qrcode-terminal 在终端中生成二维码
- qrcode QR 码和 2d 条码生成器(支持浏览器和
文件处理
- FileSaver.js 保存/下载文件(受
blob
的大小和内存限制) - StreamSaver.js 保存/下载文件(不受
blob
的大小和内存限制) - sheetjs 用于 Excel 的读取和导出
- node-fs-extra Node fs 模块 的增强(如
promise
的支持) - rimraf 用于删除文件和文件夹,类似
rm -rf
- glob 文件查找
- globby 使用更友好的文件查找(支持
promise
、否定模式、ignore
文件配置等)
版本号处理
- semver 语义化版本解析器
数据校验
- validator.js 字符串验证
- async-validator 异步表单验证
富文本
- braft-editor
React
富文本编辑器
代码编辑器
- monaco-editor 微软开源的基于 VSCode 的代码编辑器。支持智能提示、代码高亮、代码格式化等。
轮播
- swiper 高性能的触摸滑动插件,支持
Javascript
Vue 3
React
AngularJS
Solid
Svelte
- vue-awesome-swiper 基于 swiper 封装的
Vue
组件,支持Vue 2
和Vue 3
表格
- ag-grid 功能齐全的高性能表格,支持
Javascript
Vue
React
AngularJS
Web Components
用户体验
- 用户引导动画
- 复制到剪贴板
- screenfull.js 将页面或任何元素全屏显示
Webpack
- webpack-chain 使用链式 API 来生成和简化
webpack
的配置的修改 - speed-measure-webpack-plugin 统计
webpack
在各阶段的构建速度 - webpack-bundle-analyzer 通过可视化分析
webpack
打包文件的大小
解析相关
- cheerio 为服务器特别定制的,快速、灵活、实施的
jQuery
核心实现,可以解析任何HTML
或XML
文档
自动化工具
- puppeteer 控制 Chromium 的自动化工具
- playwright 支持 Firefox / Chrome / WebKit(Safari) 三大浏览器的自动化工具
lint / 格式化相关
- prettier 代码格式化工具
- eslint
ECMAScript/JavaScript
代码检查工具 - stylelint
CSS
代码检查工具 - markdownlint
Markdown
格式检查工具 - commitlint Git Commit Messages 格式检查工具
相关辅助工具
- husky
Git Hooks
工具,让你操作Git Hooks
变得更容易 - lint-staged 只对
Git
暂存文件运行lint
从而提高速度 - commitizen
commit
辅助工具,获得有关提交消息格式的即时反馈
CLI 相关
- zx 用
JavaScript
或TypeScript
编写简单的命令行脚本 - inquirer 交互式命令行工具
- enquirer 交互式命令行工具(更好看)
- shelljs 是
Unix Shell
在Node.js API
层的轻量级实现,可以很方便的调用系统命令 - execa Node child_process 模块的增强(如
promise
的支持、移除输出中最后的换行符等) - npm-run-all 用于并行或串行执行多个
npm
脚本 - commander.js 编写指令和处理命令行
- yargs 命令行参数解析
- plop 轻量级的项目搭建生成工具
- dotenv 从
.env
文件加载环境变量到process.env
- dotenv-expand
dotenv
的变量扩展,使.env
文件支持变量语法 - simple-git 在
node
中执行git
命令 - cosmiconfig 搜索并加载配置文件(会查找
package.json
的配置项以及name
.[rc
,json
,.yaml
,yml
,js
,cjs
] 文件)
命令行输出美化
文档
- VuePress
Vue
驱动的静态网站生成器 - dumi 基于
Umi
为组件开发场景而生的文档工具 - Docusaurus 基于
React
的静态网站生成器