Existem várias maneiras de gerar um UUID no Node.js, mas por que escolher uma em vez da outra? Aqui está o porquê.
Um identificador universalmente exclusivo (UUID) é uma cadeia de caracteres de 128 bits que você pode usar para rotular e acessar dados. Usando o Node.js, você pode criar facilmente UUIDs usando várias abordagens.
Os UUIDs são poderosos para identificação exclusiva porque as chances de encontrar o mesmo ID são muito pequenas. Isso também significa que você pode gerar um UUID de forma autônoma sem verificação cruzada em um banco de dados central. UUIDs são altamente escaláveis.
Usando o módulo de criptografia
O embutido módulo de criptografia in Node fornece o método randomUUID() para gerar UUIDs.
const criptografia = exigir("cripto")
const uuid = crypto.randomUUID()
Prevenir randomUUID() de usar o cache durante a geração de UUID, defina disableEntropyCache para verdade, assim:
const uuid = crypto.randomUUID({ disableEntropyCache: verdadeiro })
Usando o pacote uuid
Ao contrário do módulo de criptografia, o pacote uuid é um terceiro módulo npm. Para instalá-lo, execute o seguinte comando.
npm instala uuid
uuid permite gerar diferentes versões de ID:
- As versões 1 e 4 geram um ID exclusivo gerado aleatoriamente.
- As versões 3 e 5 geram um ID exclusivo de um namespace e nome.
Este exemplo mostra como você pode gerar um UUID da versão 4:
const {v4: uuidv4} = exigir("uuido")
const id = uuidv4()
Como usar o NanoID
NanoID também é outro pacote NPM usado para gerar UUIDs no Node. Embora funcione quase da mesma forma que o pacote uuid, existem algumas diferenças:
- O Nano ID contém 36 símbolos em vez de 21.
- O Nano ID é duas vezes mais rápido que o uuid.
- O Nano ID é quatro vezes menor que o uuid. Seus identificadores contêm 130 bytes em vez de 483 bytes.
Use o seguinte código para gerar um Nano ID:
const {nanoide} = exigir("nanoide")
const id = nanoid()
O Nano ID é melhor que o uuid?
Existem pelo menos três métodos que você pode usar para gerar um UUID no Node: o módulo de criptografia integrado e os pacotes de terceiros uuid e Nano ID. Se você quiser usar um pacote externo, considere o Nano ID. É menor e muito mais rápido que o uuid.