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)
- }
来源: http://www.jianshu.com/p/01360fd738d0