我可能会迟到,但你可以在没有图书馆的情况下做到这一点:
下面的脚本是node-uuid v4 only library 的缩小版
import { default as crypto } from 'crypto'
class _Uuid {
static v4(offset = 0){
let byteToHex = [], rnds = crypto.randomBytes(16)
rnds[6] = (rnds[6] & 0x0f) | 0x40 // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
rnds[8] = (rnds[8] & 0x3f) | 0x80 // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
for (var i = 0; i < 256; ++i) { byteToHex[i] = (i + 0x100).toString(16).substr(1) }
return ([byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], '-', byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], '-', byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], '-', byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], '-', byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], byteToHex[rnds[offset++]], byteToHex[rnds[offset++]]]).join('')
}
}
const v4 = _Uuid.v4
export { v4 as default }
用法
import { default as uuid } from '_Uuid'
uuid() // 3ceb4f8f-cef9-400f-a394-80da0334273b
这是一个 ES6 脚本,它在 node 中使用捆绑的加密库,有助于简单、快速地生成符合 RFC4122 的 v4 UUIDS。 Source Code