0%

收集一些实用的前端js工具库【不定时更新】

十进制运算

big.js

一个小型,快速的JavaScript库,用于任意精度的十进制算术运算。

bignumber.js

一个用于任意精度十进制和非十进制算术的JavaScript库。

decimal.js

JavaScript的任意精度的十进制类型。

时间处理

dayjs

只有2KB的时间处理库,使用方式如同 Moment API,可以通过添加插件实现更多功能。

垫片

promise.allsettled

当前版本的 Promise 提供了 .all() 静态方法,用于合并一系列 Promise 的结果。

然而,由于单一 Promise 进入 rejected 状态便会立即让 Promise.all() 的结果进入 rejected 状态,以至于通过 Promise.all() 进入 rejected 状态时,其中的源 Promise 仍然可能处于 pending 状态,以至于无法获得所有 Promise 完成的时机。

Promise.allSettled() 静态方法会等待所有源 Promise 进入 fulfilled 或者 rejected 状态,从而确保不会造成时序上的冲突。

Promise.prototype.finally

Promise实例添加 .finally方法,以保证代码无论在Promiseresolve或者reject时被执行。

异步处理

await-to-js

用于异步等待包装器,可轻松处理错误,而无需尝试捕获;可将任意Promise 转换为[err, data]的数组返回值,方便平铺逻辑代码,不使用.catchtry/catch来捕捉错误,从而减少代码嵌套。

数据处理/实用工具

lodash

现代化的JavaScript实用程序库,提供模块化,高性能和附加功能。

ramda

一个专门为函数式编程风格设计的库,每个方法会返回新的函数或者值,不会改变原始值。

licia

Licia 是一套在开发中实践积累起来的实用 JavaScript 工具库。该库目前拥有超过 400 个模块,包括 Dom 操作,cookie 设置,类创建,模板函数,日期格式化等实用模块,同时配套有打包工具 Eustia 进行定制化,使JS脚本加载量缩减在 10KB 以下,极大优化移动端页面的加载速度。

collect.js

方便且无依赖的工具库,用于处理数组和对象。

模拟数据

Mock

Mock.js是一个模拟数据生成器,可帮助前端开发和原型与后端进度分开,并减少某些单调性,尤其是在编写自动化测试时。

chancejs

Chancejs 是生成随机字符串,数字等的极简主义生成器,以帮助减少某些单调性,尤其是在编写自动测试或任何您需要任何随机值的地方。

字符串处理

qs

具有嵌套支持的querystring解析器。

voca

Voca是一个用于处理字符串的JavaScript库。

1
2
3
v.camelCase('bird flight');              // => 'birdFlight'
v.sprintf('%s costs $%.2f', 'Tea', 1.5); // => 'Tea costs $1.50'
v.slugify('What a wonderful world'); // => 'what-a-wonderful-world'

加解密

crypto-js

加密标准的JavaScript库。

字节格式化

pretty-bytes

将字节转换为人类可读的字符串:1337→1.34 kB

图片懒加载

lazyload

使长网页中图像延迟加载,
用户滚动到窗口可视范围内的图像之前,不会加载它们。
这与图像预加载相反。

lazysizes

高性能和SEO友好的惰性加载器,用于图像,iframe等,可检测用户交互,CSS或JavaScript触发的可见性更改,而无需进行配置。

图片预览

viewerjs

JavaScript image viewer.

lightbox2

一个灯箱效果的图片展示插件。

medium-zoom

一个模仿 medium的图片查看JavaScript库

http请求

axios

基于PromiseHTTP客户端,用于浏览器和node.js

fly

支持所有JavaScript运行时的请求转发和基于PromiseHTTP客户端。

数据可视化/图表

echarts

一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

antv

AntV 是蚂蚁金服全新一代数据可视化解决方案,致力于提供一套简单方便、专业可靠、无限可能的数据可视化最佳实践。

d3

通过SVGCanvasHTML使数据栩栩如生。

手势

any-touch

手势库, 按需2kb~5kb, 支持PC / 手机 / 微信端。

hammer.js

一个用于多点触控手势的JavaScript库。

拖拽

draggabilly

一个专注于拖拽功能的 JS 库。

dragula

拖放是如此简单。

Sortable

Sortable.js是一款轻量级的拖放排序列表的js插件(虽然体积小,但是功能很强大)。

加载进度条

nprogress

适用于Ajax应用程序的超薄进度条。
受到GoogleYouTubeMedium的启发。

qier-progress

qier-progress 用于缓解用户焦虑的进度条,它优美且简单,在你的网页发送请求或跳转网站的时候使用它吧!当然,还可以用于一些文件上传或加载场景。如果你知道 nprogress,那你对这个插件就更不会陌生了。

文件保存

FileSaver.js

一个HTML5 saveAs() 的实现

调试

vConsole

腾讯团队出品,用于移动网页的轻量级,可扩展的前端开发人员工具。

eruda

Eruda 是一个专为手机网页前端设计的调试面板,类似 DevTools 的迷你版,其主要功能包括:捕获 console 日志、检查元素状态、捕获XHR请求、显示本地存储和 Cookie 信息等等。

spy-debugger

微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备。

富文本编辑器

jodit

Jodit-最佳“所见即所得”编辑器

Trumbowyg

轻巧而惊人的 JavaScript富文本编辑器-仅20kB(gzip之后仅8kB)

summernote

超级简单的所见即所得编辑器