通用唯一标识符(UUID)是一个128位的字符串,你可以用来标记和访问数据。使用Node.js,你可以使用几种方法轻松创建UUID。
UUID对于独特的识别来说是很强大的,因为遇到相同ID的机会非常小。这也意味着你可以自主地生成一个UUID,而不需要与中央数据库进行交叉检查。UUIDs具有高度的可扩展性。
使用加密模块
Node中内置的密码模块提供了随机UUID()方法来生成UUIDs。
const crypto = require("crypto")const uuid = crypto.randomUUID()
为了防止randomUUID()在生成UUID时使用缓存,请将disableEntropyCache设置为true,像这样。
const uuid = crypto.randomUUID({ disableEntropyCache: true })
使用uuid包
与crypto模块不同,uuid包是一个第三方的npm模块。要安装它,请运行以下命令。
npm install uuid
uuid允许你生成不同的ID版本。
- 版本1和4生成一个随机产生的唯一ID。
- 版本3和5从命名空间和名称生成一个唯一的ID。
这个例子显示了你如何生成一个版本4的UUID。
const {v4 : uuidv4} = require("uuid")const id = uuidv4()
使用Nano ID
Nano ID也是另一个NPM包,用于在Node中生成UUID。虽然它的工作原理与uuid包几乎相同,但也有一些区别。
- Nano ID包含36个符号而不是21个。
- Nano ID比uuid快2倍。
- Nano ID比uuid小四倍。它的标识符包含130个字节而不是483个字节。
使用下面的代码来生成一个Nano ID。
const { nanoid } = require("nanoid")const id = nanoid()
Nano ID比uuid好吗?
在Node中至少有三种方法可以用来生成UUID:内置加密模块和uuid和Nano ID第三方包。如果你想使用一个外部包,可以考虑Nano ID。它比uuid更小、更快。