简介
nanoid是一个小巧、安全、URL友好、唯一的JS字符串ID生成器

// 目前github的star是15.9K
github地址:https://github.com/ai/nanoid
特点
- 小巧,130 bytes (已压缩和 gzipped)。 没有依赖。 Size Limit 控制大小。
- 快速,它比 UUID 快 60%。
- 安全,它使用加密的强随机 API,可以在集群中使用。
- 紧凑,它使用比 UUID(A-Za-z0-9_-)更大的字母表。 因此,ID 大小从36个符号减少到21个符号。
- 易用,Nano ID 已被移植到 20种编程语言。
与 UUID 的比较
Nano ID 与 UUID v4 (基于随机) 相当。 它们在 ID 中有相似数量的随机位 (Nano ID 为126,UUID 为122),因此它们的冲突概率相似::
要想有十亿分之一的重复机会, 必须产生103万亿个版本4的ID.
Nano ID 和 UUID v4之间有三个主要区别:
- Nano ID 使用更大的字母表,所以类似数量的随机位 被包装在21个符号中,而不是36个。
- Nano ID 代码比 uuid/v4 包少 4倍: 130字节而不是483字节.
- 由于分配的技巧,Nano ID 比 UUID 快 60%。
使用教程
// 安装
npm i nanoid -S
// 引入
import { nanoid } from 'nanoid'
// 简单随机生成
nanoid() //=> "V1StGXR8_Z5jdHi6B-myT"
// 指定生成长度
nanoid(10) //=> "IRFa-VaY2b"
// 自定义用于生成id的字符和大小
import { customAlphabet } from 'nanoid'
const nanoid = customAlphabet('1234567890abcdefg', 10)
nanoid() //=> "4f90d13a42"
是不是非常的强大好用
觉得效果不错的请帮忙加个关注点个赞,经常分享前端实用开发技巧
胜象大百科







