简介
@daonomic/lib 是一个 Node.js 的后端库,提供了一些常用的功能。
安装
首先,需要在项目中安装 @daonomic/lib 依赖:
npm install @daonomic/lib --save
功能
@daonomic/lib 提供以下功能:
1. IP 地址相关
ip.isValidIp(ip: string)
: 判断 IP 地址是否合法ip.ipv4Range(ip: string, range: string)
: 判断 IPv4 地址是否在给定的 CIDR 范围内ip.getPublicIp()
: 获取公网 IP 地址
2. 日期时间相关
time.sleep(ms: number)
: 暂停执行time.getIsoDate(date: Date)
: 获取 ISO 格式的日期字符串time.getUnixTime(date: Date)
: 获取 Unix 时间戳
3. 加密相关
crypto.sha256(data: string | Buffer)
: 计算 SHA256 哈希值crypto.sha256async(data: string | Buffer)
: 异步计算 SHA256 哈希值
4. 其他工具
tools.repeat(action: () => Promise<any>, maxTries: number, intervalMs: number)
: 最多重试给定的异步操作tools.chain(asyncFns: Array<() => Promise<any>>): Promise<void>
: 串行执行异步函数tools.parallel(asyncFns: Array<() => Promise<any>>): Promise<Array<any>>
: 并行执行异步函数
使用示例
1. 判断 IP 地址是否合法
const ip = require('@daonomic/lib').ip; console.log(ip.isValidIp('127.0.0.1')); // true console.log(ip.isValidIp('invalid-ip-address')); // false
2. 判断 IPv4 地址是否在给定的 CIDR 范围内
const ip = require('@daonomic/lib').ip; console.log(ip.ipv4Range('192.168.0.1', '192.168.0.0/24')); // true console.log(ip.ipv4Range('192.168.0.1', '192.168.0.0/16')); // true console.log(ip.ipv4Range('192.168.0.1', '192.168.1.0/24')); // false
3. 获取公网 IP 地址
const ip = require('@daonomic/lib').ip; ip.getPublicIp().then(console.log); // "123.45.67.89"
4. 计算 SHA256 哈希值
const crypto = require('@daonomic/lib').crypto; const hash = crypto.sha256('hello world'); console.log(hash.toString('hex')); // "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
5. 最多重试给定的异步操作
-- -------------------- ---- ------- ----- ----- - ------------------------------- --- ----- - -- ----- --------- - ----- -- -- - -------- ---------------- ----------- -- ------ - -- - ----- --- ---------------- - ---- - ------ ---------- - -- ----------------------- --- ------------------------展开代码
6. 串行执行异步函数
-- -------------------- ---- ------- ----- ----- - ------------------------------- ----- -------- - ----- -- -- - ----- ------------------ --------------------- ---- -- ----- -------- - ----- -- -- - ----- ------------------ --------------------- ---- -- ---------------------- -----------------------------展开代码
7. 并行执行异步函数
-- -------------------- ---- ------- ----- ----- - ------------------------------- ----- -------- - ----- -- -- - ----- ------------------ --------------------- ---- ------ -- -- ----- -------- - ----- -- -- - ----- ------------------ --------------------- ---- ------ -- -- ------------------------- ----------------------------- -- --- --展开代码
结论
@daonomic/lib 是一个简单实用的 Node.js 后端库,为后端开发提供了一些常用的工具函数和功能。在实际开发中,可以借助 @daonomic/lib 提供的
- IP 地址相关
- 日期时间相关
- 加密相关
- 其他工具
等各个方面的便捷功能,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671d630d0927023822c30