js如何生成唯一標識符(類似uuid)

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)
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章