Heim >Web-Frontend >js-Tutorial >Warum ich ein neues UUID-Paket für Node.js erstellt habe
Ich arbeite schon lange mit Node.js und habe in meinen Projekten immer das Paket uuid verwendet, um UUIDs zu generieren. Es ist ein tolles Paket und funktioniert gut, aber ich hatte immer das Gefühl, dass es in einigen Aspekten verbessert werden könnte.
Einfache API
Eines der Dinge, die mich am UUID-Paket immer gestört haben, ist, dass es auf eine einfache UUID-Generierung im Standardformat beschränkt ist. Sie müssen wissen, wie man es in verschiedene Formate konvertiert, was für Anfänger etwas verwirrend sein kann.
Lange UUID-Strings
Obwohl die UUID-Zeichenfolge ein Standardformat ist, eignet sie sich nicht sehr gut für URLs oder andere Kontexte, in denen Sie eine kompaktere Darstellung benötigen, wie z. B. base64. Dies zwingt Sie dazu, die UUID-Zeichenfolge zu analysieren und in ein anderes Format zu konvertieren, was etwas umständlich sein kann.
Speichereffizienz
Außerdem ist die String-Form von UUIDs im Hinblick auf den Speicherplatz nicht sehr effizient. Es verwendet 36 Zeichen, um einen 16-Byte-Wert darzustellen, was weder für die Speicherung oder Übertragung über das Netzwerk noch für die Datenbankspeicherung sehr effizient ist.
Um diese Probleme zu lösen, habe ich beschlossen, ein neues Paket namens @uuid-ts/uuid zu erstellen, das eine benutzerfreundlichere API und automatisches Parsen von UUIDs aus verschiedenen Formaten bietet. Es enthält auch Hilfsfunktionen zum Konvertieren von UUIDs in verschiedene Formate und zum Validieren von UUIDs.
Es handelt sich um eine einfache TypeScript-Klasse mit UUID-Version-7-Unterstützung, die sowohl in Node.js- als auch in Browserumgebungen verwendet werden kann. Es ist isomorph und kann ohne zusätzliche Konfiguration mit modernem JavaScript und TypeScript verwendet werden.
Parsen einer vorhandenen UUID als Zeichenfolge:
const uuidString = '01932c07-209c-7401-9658-4e7a759e7bf7'; const uuid = new Uuid(uuidString); // methods uuid.toHex(); // '01932c07-209c-7401-9658-4e7a759e7bf7'; uuid.toBase64(); // 'AZMsByCcdAGWWAAATnp1ng'; uuid.toBuffer(); // [Buffer] uuid.toInstance<Binary>(Binary); // [Binary]
Generieren einer neuen UUID:
const uuid = new Uuid(); uuid.toString(); // '01932c0a-235b-7da6-8153-aee356735b58'
Parsen einer UUID aus einem Node.js-Puffer:
const uuid = new Uuid(buffer); uuid.toString(); // '01932c0b-e834-7b5a-9bae-2964245fc0b6'
Es verfügt außerdem über die folgenden Hilfsfunktionen:
Uuid.bufferToUuidHex(buffer: Buffer): string
Uuid.uuidBufferFromHex(uuidHexString: string): Puffer
Uuid.isUuidHexString(uuid: string | Buffer): boolean
Uuid.isUuidBase64String(uuid: string | Buffer): Buffer | null
Uuid.fromHex(hexString: string): Uuid
Uuid.fromBase64(base64String: string): Uuid
Uuid.fromBuffer(buffer: Buffer): Uuid
Ich hoffe, dass dieses Paket für Sie nützlich ist und Ihnen hilft, effizienter und benutzerfreundlicher mit UUIDs zu arbeiten. Wenn Sie Feedback oder Vorschläge haben, lassen Sie es mich bitte wissen.
Sie finden das Paket auf npm unter https://www.npmjs.com/package/@uuid-ts/uuid.
Das obige ist der detaillierte Inhalt vonWarum ich ein neues UUID-Paket für Node.js erstellt habe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!