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 允许开发人员使用
自定义字母表