Skip to content
☆´∀`☆
On this page

工具库

Utils

1.Lodash

官网:https://www.lodashjs.com/

es 版:https://www.npmjs.com/package/lodash-es (@types/lodash-es)

  • 遍历 array、object 和 string
  • 对值进行操作和检测
  • 创建符合功能的函数

2.underscore

官网:https://underscorejs.org/

带注释的源代码:https://underscorejs.org/docs/underscore-esm.html

  • 函数式编程助手,不拓展任何内置对象

3.ramda

官网:https://ramdajs.com/docs/

中文官网:https://ramda.cn/

  • 不改变用户已有数据
  • 柯里化

数据解析

1.query-string

解析和 stringify URL 查询字符串。

2.filesize

数字(浮点数或整数)或字符串中获取可读文件大小字符串。

ts
import { filesize } from 'filesize'
filesize(10000) // 10 kB

3.numeral

格式化和操作数字。

实用库

1.classnames

在渲染函数中方便的条件性地应用类名。

2.uuid

生成 RFC4122 UUIDs in JavaScript。

3.nanoid

默认情况下,Nano ID 使用 URL 友好的符号(A-Za-z0-9_-)并返回一个 有 21 个字符(类似 UUID v4 的冲突概率)的 ID。

加密

1.crypto-js

标准加密库。docs

  • Hashing(哈希算法):MD5(非抗冲突)、SHA-1、SHA-2、SHA-3、RIPEMD-160
  • HMAC(消息认证代码-基于哈希函数进行消息验证的机制):HmacMD5、HmacSHA1、HmacSHA256、HmacSHA512
  • PBKDF2(基于密码的密钥派生函数)
  • Ciphers(密码):AES、DES、Rabbit、RC4

2.md5

3.jsencrypt

RSA 加密。

原生 API 拓展

更方便简单的处理 cookie。

2.dayjs

轻量级的处理时间和日期的库,和 moment.js 类似。

3.moment

处理时间和日期的库。

4.screenfull

跨浏览器使用FullscreenAPI

5. scrollama

使用 IntersectionObserver 支持滚动事件进行滚动。(检测元素是否可见,或两元素是否相交)

事件

1.hammerjs

手势事件插件、体积小。识别由触摸、鼠标和指针事件做出的手势。

优化&其他

加快打开链接的速度。