安装nanoid 生成唯一的nanoid(uuid)
npm i nanoid
UUID 是 通用唯一识别码的缩写,生成全球唯一的一串字符编码。
UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID可以被任何人独立创建,并按需发布。
由于uuid体积较大,在开发过程中一般使用更加轻量级的nanoid来代替uuid的使用。
nanoid的优点:
- nanoid只有108个字节那么大,相对于uuid,要小4,5倍,并且没有任何依赖关系。
- nanoid更加安全,在大多数随机生成器中,他们使用不安全的Math.random(),但是nanoid使用crypto module和web crypto APi,意味着nanoid更安全。
- nanoid及快速有紧凑,比uuid快60%,与 uuid字母表中的 36 个字符不同,nanoid只有 21 个字符。
普通使用
import { nanoid } from 'nanoid';
model.id = nanoid();
自定义使用
NanoID 的另一个现有功能是它允许开发人员使用自定义字母表。我们可以更改文字或 id 的大小,如下所示
import { customAlphabet } from 'nanoid';
const nanoid = customAlphabet('ABCDEF1234567890', 12);
model.id = nanoid();
在上面的示例中,我将自定义字母表定义为 ABCDEF1234567890,并将 Id 的大小定义为 12。
安装uuid
npm install uuid
局部使用
import { v4 as uuidv4 } from 'uuid';
const id = uuidv4();
全局使用
// 在main.js中引用
import UUID from "vue-uuid";
Vue.use(UUID);
// 页面中使用
this.$uuid.v4()
uuid.v1() | 创建版本1(时间戳)UUID |
---|---|
uuid.v3() | 创建版本3(带MD5的命名空间)UUID |
uuid.v4() | 创建版本4(随机)UUID |
uuid.v5() | 创建版本5(带SHA-1的命名空间)UUID |