Il existe plusieurs façons de générer un UUID dans Node.js, mais pourquoi choisir l'un plutôt que l'autre? Voici pourquoi.
Un identifiant universel unique (UUID) est une chaîne de caractères de 128 bits que vous pouvez utiliser pour étiqueter et accéder aux données. En utilisant Node.js, vous pouvez facilement créer des UUID en utilisant plusieurs approches.
Les UUID sont puissants pour une identification unique car les chances de rencontrer le même ID sont très faibles. Cela signifie également que vous pouvez générer un UUID de manière autonome sans recoupement avec une base de données centrale. Les UUID sont hautement évolutifs.
Utilisation du module crypto
L'intégré module de chiffrement in Node fournit la méthode randomUUID() pour générer des UUID.
constante crypto = exiger("crypto")
constante uuid = crypto.randomUUID()
Pour prévenir randomUUID() d'utiliser le cache lors de la génération de l'UUID, définissez désactiverEntropyCache à vrai, comme ceci:
constante uuid = crypto.randomUUID({ désactiverEntropyCache: vrai })
Utilisation du paquet uuid
Contrairement au module crypto, le paquet uuid est un tiers module npm. Pour l'installer, exécutez la commande suivante.
npm installer uuid
uuid vous permet de générer différentes versions d'ID :
- Les versions 1 et 4 génèrent un identifiant unique généré aléatoirement.
- Les versions 3 et 5 génèrent un ID unique à partir d'un espace de noms et d'un nom.
Cet exemple montre comment vous pouvez générer un UUID version 4 :
constante {v4: uuidv4} = exiger("uuid")
constante identifiant = uuidv4()
Utilisation de Nano ID
Nano ID est également un autre package NPM utilisé pour générer des UUID dans Node. Bien qu'il fonctionne presque de la même manière que le package uuid, il existe quelques différences :
- Le Nano ID contient 36 symboles au lieu de 21.
- Nano ID est deux fois plus rapide que uuid.
- Nano ID est quatre fois plus petit que uuid. Ses identifiants contiennent 130 octets au lieu de 483 octets.
Utilisez le code suivant pour générer un Nano ID :
constante { nanooïde } = exiger("nanoïde")
constante id = nanoid()
Nano ID est-il meilleur que uuid ?
Il existe au moins trois méthodes que vous pouvez utiliser pour générer un UUID dans Node: le module de chiffrement intégré et les packages tiers uuid et Nano ID. Si vous souhaitez utiliser un package externe, pensez à Nano ID. Il est plus petit et beaucoup plus rapide que uuid.