npm 包 @daonomic/lib 使用教程

简介

@daonomic/lib 是一个 Node.js 的后端库,提供了一些常用的功能。

安装

首先,需要在项目中安装 @daonomic/lib 依赖:

--- ------- ------------- ------

功能

@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 地址是否合法

----- -- - ----------------------------

--------------------------------------- -- ----
------------------------------------------------ -- -----

2. 判断 IPv4 地址是否在给定的 CIDR 范围内

----- -- - ----------------------------

--------------------------------------- ------------------- -- ----
--------------------------------------- ------------------- -- ----
--------------------------------------- ------------------- -- -----

3. 获取公网 IP 地址

----- -- - ----------------------------

----------------------------------- -- --------------

4. 计算 SHA256 哈希值

----- ------ - --------------------------------

----- ---- - -------------------- --------
---------------------------------- -- ------------------------------------------------------------------

5. 最多重试给定的异步操作

----- ----- - -------------------------------

--- ----- - --

----- --------- - ----- -- -- -
  --------
  ---------------- -----------
  -- ------ - -- -
    ----- --- ----------------
  - ---- -
    ------ ----------
  -
--

----------------------- --- ------------------------

6. 串行执行异步函数

----- ----- - -------------------------------

----- -------- - ----- -- -- -
  ----- ------------------
  --------------------- ----
--

----- -------- - ----- -- -- -
  ----- ------------------
  --------------------- ----
--

---------------------- -----------------------------

7. 并行执行异步函数

----- ----- - -------------------------------

----- -------- - ----- -- -- -
  ----- ------------------
  --------------------- ----
  ------ --
--

----- -------- - ----- -- -- -
  ----- ------------------
  --------------------- ----
  ------ --
--

------------------------- ----------------------------- -- --- --

结论

@daonomic/lib 是一个简单实用的 Node.js 后端库,为后端开发提供了一些常用的工具函数和功能。在实际开发中,可以借助 @daonomic/lib 提供的

  • IP 地址相关
  • 日期时间相关
  • 加密相关
  • 其他工具

等各个方面的便捷功能,提高开发效率。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600671d630d0927023822c30


猜你喜欢

  • npm 包 vue-organization-chart 使用教程

    前言 对于许多 Web 开发者来说,Vue.js 是一个相当流行的 JavaScript 框架。其强大的组件系统使得开发者可以轻松进行组件化开发。本文将介绍一个非常有用的 Vue.js 组件库:vue...

    4 年前
  • npm包normalize-json-api-response使用教程

    在前端开发中,我们经常需要与后端接口进行数据交互。而在实际的接口响应中,经常有一些不符合我们预期的返回格式,比如json格式不规范、缺失字段、格式不一致等等。而normalize-json-api-r...

    4 年前
  • npm 包 vue-lunzi 使用教程

    什么是 vue-lunzi? vue-lunzi 是一款基于 Vue.js 的组件库,可以用于快速搭建具有交互体验的 UI 界面。 其中,lunzi 是看起来像轮子的英文单词,其实是指日常生活中常用的...

    4 年前
  • npm 包 @joepie91/express-react-views 使用教程

    介绍 @joepie91/express-react-views 是一个优秀的 npm 包,其作用是在 Express 后端框架中使用 React 进行模板渲染。这个包可以帮助前端开发人员更容易地将 ...

    4 年前
  • npm 包 @mrwolfz/react-redux 使用教程

    React 和 Redux 是现代前端开发中非常常用的技术,而 @mrwolfz/react-redux npm 包则是将两者结合使用的工具包。本文将详细讲解如何使用 @mrwolfz/react-r...

    4 年前
  • npm 包 math-marked 使用教程

    在 Web 开发中,我们经常需要在页面中展示数学公式。但是直接编写数学公式是非常麻烦的,而且不够直观。为了解决这个问题,可以使用 math-marked 这个 npm 包。

    4 年前
  • npm 包 sails-generate-policy 使用教程

    前言 在开发 Web 应用程序时,通常需要处理用户身份验证、授权、访问控制等方面的问题。这时候,引入策略(policy)的概念是非常有用的。sails-generate-policy 是一款方便快捷地...

    4 年前
  • npm 包 qw9002_test 使用教程

    qw9002_test 是一个 npm 包,它可以帮助前端人员进行自动化测试。使用 qw9002_test 可以大大提高测试效率,并且减少人工测试带来的错误。 本文将详细介绍如何使用 qw9002_t...

    4 年前
  • npm 包 @amazebot/rocket-socket 使用教程

    简介 在前端开发中,实时通信是非常重要的一项技术。Websocket 协议提供了一种双向通信的方式,可以实现较低延迟和可靠性的实时通信。@amazebot/rocket-socket 是一个基于 We...

    4 年前
  • npm 包 @amazebot/rocket-sims 使用教程

    在前端开发中,npm 包是必不可少的资源。它可以帮助我们更方便地管理依赖、提高代码效率、减少 bug 等,使得开发更加高效。而 @amazebot/rocket-sims 是一款非常实用的 npm 包...

    4 年前
  • NPM 包 @amazebot/rocket-rest 使用教程

    前言 在 Web 开发中,我们经常需要使用一些外部的库和工具,以方便我们的工作和提高开发效率。NPM (Node Package Manager) 是一个非常流行的包管理器,它可以让我们在项目中轻松地...

    4 年前
  • npm包 @amazebot/rocket-bot 使用教程

    介绍 @amazebot/rocket-bot 是一款基于 Rocket.Chat 的聊天机器人开发包。通过该包,我们可以轻松地开发聊天机器人,帮助我们进行日常工作和更高效的沟通。

    4 年前
  • npm 包 create-cool 使用教程

    在前端开发中,我们经常需要编写一些复用性强的代码段或模块。这些模块可以用来提高代码的复用性,提高开发效率,减少人工出错率。而 npm 是前端最常用的包管理工具,为我们提供了大量的包供使用。

    4 年前
  • npm 包 web-console-plugin-time 使用教程

    前言 前端开发中,我们经常需要进行性能监控和调优。Web 后台日志一般以文本形式存储在后台服务器上,无法直接查看。针对这个问题,我们可以使用前端控制台来记录和统计前端脚本运行时间和执行时序。

    4 年前
  • npm 包 vue-breadcrumb 使用教程

    在前端开发中,面包屑导航是一个非常常见的组件。vue-breadcrumb 是一个基于 Vue.js 的面包屑导航插件。它提供了一种简单、灵活的方式来创建面包屑导航,并支持自定义样式、动画和事件处理。

    4 年前
  • npm 包 stenoread 使用教程

    前言 随着前端技术的发展,前端工程化越来越成熟。在我们的日常开发过程中,使用 npm 包已经成为了必不可少的一部分。npm 是世界上最大的软件注册表,有超过 120 万个包,几乎所有 JavaScri...

    4 年前
  • npm 包 its-down 使用教程

    简介 its-down 是一个 NPM 包,它可以帮助前端开发者检测网站是否真正下线。其原理是利用了 404 页面去检测网站是否真正下线,从而提高了检测可靠性。在开发和维护自己的网站时,我们需要经常测...

    4 年前
  • npm 包 get-unused-port-in-list 使用教程

    当我们需要启动多个服务来协同工作时,经常会遇到需要使用不同端口的情况。此时,一种常见的需求是在当前可用的端口列表中寻找未被占用的端口。这时,我们可以使用 npm 包 get-unused-port-i...

    4 年前
  • npm包simple-alert-message 使用教程

    在前端开发中,弹窗是一个常见的元素。从传统的alert()到现在各种弹窗库层出不穷,前端开发者有很多选择。本文将介绍一款npm包simple-alert-message,并详细介绍它的使用教程和示例代...

    4 年前
  • npm 包 @asdftd/jest-mongoose-mock 使用教程

    在前端开发中,单元测试是必不可少的一环。而在进行单元测试时,我们经常需要模拟数据库的数据,这就需要使用到 mock 函数。在 Node.js 中,jest 是一个非常流行、易用的测试框架。

    4 年前

相关推荐

    暂无文章