piapia123
zh

常用 JS 库速查

查询

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

「这件事该用哪个库」的对照表,按用途分类:日期与时间、网络请求、工具函数、状态管理、表单与校验、图表与可视化、界面与样式、动画、图形与 3D、文档与文件、文本与解析、编辑器、构建与测试,以及一类杂项。每条给出这个库是干什么的、以及安装命令。 为什么按用途而不是按「常用排行」:一份常用库排行榜既没有权威来源,也半年就过时;而「处理日期用哪个」「画图表用哪个」这类问题的答案稳定得多 —— 也才是真正会去搜的东西。所以这里不排名次,只按用途归位。 ⚠️ 只存包名,不存网址、不存版本号 —— 这是刻意的,也是这个工具与网上大多数「JS 库大全」最大的不同。官网地址会改(换域名、搬到子域、项目改名),版本号更是每天都在动,而npm 包名是稳定的标识。安装命令(`npm i dayjs`)与包页地址都由包名算出来,于是这张表里没有一处会写错的网址,也没有一处会过期的版本号。 还有一条纪律:只收确定存在的包。宁可少收,也不收一个「可能叫这个」的名字 —— 那样你 `npm i` 会装到一个不相干的包上,比没有更糟。用途那一栏也要求写具体能力而不是形容词(「解析、校验、格式化、时区转换」而不是「好用的日期库」)。

功能

  • 40 多个常用库,分十四类:日期、请求、工具函数、状态、表单与校验、图表、界面与样式、动画、图形与 3D、文档、文本、编辑器、构建与测试、杂项
  • 按包名查:输入 dayjs,得到用途、分类、安装命令与包页地址
  • 按用途查:输入「图表」或「拖拽」,列出这一类里有哪些选择
  • 按分类查:输入「状态管理」列出这一类全部
  • 给出可直接复制的安装命令(`npm i dayjs`)与包页地址
  • 包页地址与安装命令都由包名算出 —— 不存在写错网址或版本号过期的问题
  • 英文界面下包名不变(它就是要敲进终端的那串字符),用途与分类译成英文
  • 全部包名都在可搜索的下拉里,提示里显示分类
  • 留空看完整列表,按用途分类分段
  • 粘贴容错:正文例子的「」引号、输入法打出的全角都不影响查询

使用方法

  1. 输入包名,例如 dayjs,得到它的用途、分类与安装命令
  2. 或者输入用途,例如「图表」「拖拽」,看这一类里有哪些选择
  3. 输入分类名,例如「状态管理」,列出这一类全部
  4. 留空则列出全部,按十四类分段

常见问题

为什么没有版本号?
因为版本号是这张表里唯一会立刻过期的信息。 任何写死版本号的库列表,从发布那天起就在变旧,而用户照着装到一个旧版本反而更糟 —— 装最新版(`npm i dayjs`)永远是更安全的选择,具体版本由 npm 与你的锁文件决定。同理,官网地址也没有收录:项目会换域名、搬到子域、改名字,而这些地址没法由包名推导。包页地址(`npmjs.com/package/<包名>`)是唯一能由包名算出来的定位方式,所以只给那一个。
这份列表是怎么选出来的?为什么没有某个库?
选的标准是「这件事有没有一个明显的默认选择」,而不是星数排名 —— 星数会变,而且热门不等于适合。所以表里的每一个都是某一类问题里被问得最多的那个(图表里的 echarts、日期里的 dayjs、请求里的 axios)。没有收录不等于不好:只在某一个框架生态里流行的、或者需要一个后端配合的、或者寿命已经不长的,都没有进来。另外这里只收确定存在的包名,宁可少一个也不冒险写一个「可能叫这个」的名字。
lodash 和 es-toolkit 该选哪个?
新项目可以直接用 es-toolkit:它提供的正是 lodash 那套最常用的函数,但体积小得多,原生 ESM,TypeScript 类型也完整。留在 lodash 的合理理由有两个:一是项目里已经在用、迁移的成本大于收益;二是需要 `_.get` 这类深路径取值、或者某些冷门函数,es-toolkit 还没有覆盖全。另外无论用哪个,都建议按需引入单个函数而不是整包引入 —— lodash 全量引入会明显拖大首屏。
这里推荐的库都是免费的吗?
不一定,这一点要看清楚再选。 表里绝大多数是 MIT 或 Apache 这类宽松许可,商用没有限制;但也有需要注意的:GSAP 的核心是免费的,而部分插件(如某些商业插件)采用不同的授权;地图库(Leaflet 免费,Mapbox GL 的服务要按量付费);图表库里有的提供商业版。许可是会变的,所以用之前请到包页确认当前的许可,尤其是商用项目 —— 这一条没法在这张表里替你保证。
为什么编辑器那一栏说本站用的是 CodeMirror?
因为那一条的用途里确实写了这一句,作为选型的一个参照。CodeMirror 与 Monaco 的取舍很典型:Monaco 是 VS Code 的编辑器内核,智能提示与语法高亮最强,但体积大(几 MB)且移动端支持一般;CodeMirror 6 体积小得多、移动端可用,代价是补全能力要自己接。本站的工具页只需要「输入框 + 高亮」,所以选了 CodeMirror —— 如果你的场景是完整的 IDE 体验,那 Monaco 更合适。

相关工具