js如何生成唯一标识符(类似uuid)
2019-11-16 本文已影响0人
费莱姆
1. JavaScript唯一ID生成器Nano ID
NanoID: 一个极小的,安全的ID生成器
Source:https://github.com/ai/nanoid
- 安装nanoid
npm i nanoid
- 引入使用(随机生成唯一id)
const nanoid = require('nanoid')
console.log(nanoid()); // Hz8ODbd-zGlWCURoLbREe
console.log(nanoid(8)) // r1Qxk61m
- 自定义字母或长度
const generate = require('nanoid/generate');
model.id = generate('1234567890abcdef', 10); //=> a082c43d4e
// 如果要使用相同的URL友好符号,只需更改长度,
const url = require('nanoid/url');
model.id = generate(url, 10); //=> WK5Rp2Nqkd
- 您可以使用format模块替换默认的安全随机生成器。
const format = require('nanoid/format')
function random (size) {
const result = []
for (let i = 0; i < size; i++) {
result.push(randomByte())
}
return result
}
format(random, "abcdef", 10) //=> "fbaefaadeb"
- 可以使用非常快速的非安全生成器。
const nonSecure = require('nanoid/non-secure')
const id = nonSecure() //=> "Uakgb_J5m9g-0JDMbcJqLJ"
- 异步API用于随机数生成器
const nanoid = require('nanoid/async')
async function createUser () {
user.id = await nanoid()
}
const format = require('nanoid/async/format')
const url = require('nanoid/url')
function random (size) {
return new Promise(…)
}
async function createUser () {
user.id = await format(random, url, 10)
}