UUID库使用教程
UUID库用于快速生成各种版本的UUID,同时还提供了验证、解析和查看UUID版本的功能。
安装
npm install --save uuid
yarn add uuid
使用
快速生成随机ID
import { v4 as uuidV4 } from "uuid";
uuidV4(); // 584f533d-b550-401f-aac7-92c74228d289
UUID验证
import { validate } from "uuid";
validate("Invalid UUID."); // false
validate("4508f2a1-ddab-4742-97dc-67755042470e"); // true
查看版本
import { version } from 'uuid';
version('45637ec4-c85f-11ea-87d0-0242ac130003'); // 1
version('ad32c7ac-46d9-4e88-9769-9a8cc15ca7f2'); // 4
同时可以配合validate进行版本号的验证
import { validate, version } from "uuid";
function validateVersion4(uuidString: string) {
return validate(uuidString) && version(uuidString) === 4;
}
生成其他版本的UUID
之前介绍的主要是UUID v4,也就是基于随机数的UUID版本。UUID还有基于时间戳的v1、基于namespace的v3(使用MD5)和v5(使用SHA-1)版本。
import { v1 as uuidV1, v3 as uuidV3, v5 as uuidV5 } from "uuid";
uuidV1(); // 2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d
const NAMESPACE = "ad3c72fe-b72c-4582-a632-eeddf410ed7e";
uuidV3("UUID name", NAMESPACE); // 620b08ff-597c-3615-8f43-e949704a3fd7
uuidV5("UUID name", NAMESPACE); // 76f9f3ec-38a8-59df-a6af-d15c607cba22
uuidV5('https://www.w3.org/', uuidV5.URL); // c106a26a-21bb-5538-8bf2-57095d1976c1
注意:根据UUID规范,如果没有向后的兼容性问题,请尽量使用UUID v5(基于SHA-1)的版本。
命令行
npx uuid
提供的API:
- uuid v1
- uuid v3 <name> <namespace>
- uuid v4
- uuid v5 <name> <namespace>