美文网首页一起学习前端
js如何生成唯一标识符(类似uuid)

js如何生成唯一标识符(类似uuid)

作者: 费莱姆 | 来源:发表于2019-11-16 09:01 被阅读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)
        }
    

    相关文章

      网友评论

        本文标题:js如何生成唯一标识符(类似uuid)

        本文链接:https://www.haomeiwen.com/subject/gogeictx.html