1. UUID
1.1 插件安装
yarn add uuid
// or
npm install uuid
安装插件可使用yarn或者npm,适情况选择。
1.2 插件引入
import { v4 as uuidv4 } from "uuid";
1.3 使用
let uid = uuidv4();
console.log('uid: ', uid);
// uid: "2dea2344-eca1-4207-aacf-28bf72a86a1a"
2. NanoID
2.1 插件安装
yarn add nanoid
// or
npm install nanoid
安装插件可使用yarn或者npm,适情况选择。
2.2 插件引入
import { nanoid } from "nanoid";
2.3 使用
let nano_id = nanoid();
console.log('nano_id: ', nano_id);
// nano_id: "BcT_Jv2Hxe06j2c9kv49h"
2.4 自定义字母表
customAlphabet( alphabet, length ) 有两个参数
- 参数1: alphabet 表示字母表;即随机生成的字符串
取自该字段里的内容 - 参数2: length 表示长度; 即随机生成的
字符串长度
import { customAlphabet } from "nanoid";
const nanoid = customAlphabet("12", 12);
let nano_id = nanoid();
console.log('nano_id: ', nano_id);
// nano_id: "222111222222"
3. UUID vs NanoID
- NanoID 运行起来比 UUID
快60% - NanoID 只有
108字节那么大 - NanoID 使用
crypto module和Web Crypto API更安全,且使用了自己的算法 - NanoID
不依赖任何第三方依赖,随着时间的推移,它能够变得更加稳定自治 - NanoID 允许开发人员使用
自定义字母表
本文对比了UUID和NanoID两种常用的随机ID生成器。UUID通过npm或yarn安装,NanoID则更小更快,且具备自定义字母表功能。NanoID在性能、大小和安全性上具有优势,且不依赖第三方库,适合对效率和安全性有要求的场景。

被折叠的 条评论
为什么被折叠?



