npm 包 argg 使用教程

阅读时长 7 分钟读完

介绍

argg 是一款用于处理命令行参数的 npm 包,通过 argg,我们可以很方便地获取命令行参数以及对这些参数进行解析和处理。argg 具备以下特点:

  • 简单易用:argg 的 API 非常简单易用,即使是初学者也能够很快地上手。
  • 灵活多样:argg 支持多种参数类型,如 bool、string、number、array 等,并且可以自定义参数类型。
  • 参数校验:argg 可以对参数进行验证,确保参数的正确性和完整性。
  • 文档完备:argg 的文档非常详细,包含丰富的示例代码和使用方法,极大地方便了我们使用和学习 argg。

本文将介绍 argg 的具体使用方法,并详细讲解 argg 的 API 和参数类型,帮助读者更好地理解和使用 argg。

安装

安装 argg 可以使用 npm:

使用方法

基本用法

使用 argg 非常简单,只需要导入 argg 并配置需要解析的参数即可。例如以下代码:

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

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

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

在以上代码中,我们首先导入了 argg 模块,然后调用了 argg 的 config 方法来配置需要解析的参数。config 方法接收一个对象,该对象的 key 为参数名称,value 是该参数的详细配置,包括参数类型、参数名称、参数默认值、参数描述等。

以上代码中,我们配置了四个参数,分别为 boolArg、stringArg、numArg 和 arrayArg。其中,boolArg 是一个布尔型参数,可以通过 -b 或 --bool-arg 来指定,该参数默认值为 true;stringArg 是一个字符串型参数,可以通过 -s 或 --string-arg 来指定,该参数默认值为 'default string';numArg 是一个数字型参数,可以通过 -n 或 --num-arg 来指定,该参数默认值为 0;arrayArg 是一个数组型参数,可以通过 -a 或 --array-arg 来指定,该参数默认值为 []。

最后,我们调用了 console.log(args) 方法来输出解析得到的参数值。

当我们运行该程序时,可以看到以下输出:

以上输出表示我们成功解析了命令行参数,且各参数的值都符合我们的配置。

参数类型

argg 支持多种参数类型,以下是 argg 支持的参数类型:

  • 'bool':布尔型参数,可以使用 --boolArg 或 -b 来指定,不需要参数值,如果不指定则默认为 false。
  • 'string':字符串型参数,可以使用 --stringArg 或 -s 来指定,需要一个字符串参数值,默认为空字符串。
  • 'number':数字型参数,可以使用 --numArg 或 -n 来指定,需要一个数字参数值,默认为 0。
  • 'array':数组型参数,可以使用 --arrayArg 或 -a 来指定,需要一个数组参数值,默认为空数组。
  • 自定义类型:例如我们可以通过如下方式定义一个自定义类型:
-- -------------------- ---- -------
----------------------- ----- -- -
  ----- ------- - --------------------------------------
  -- --------- -
    ----- -- ----- ------ ---- - -------
    ------ --- ---------- ----- - -- ----
  - ---- -
    ----- --- -------------- ---- ------- - - ----
  -
--

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

以上代码中,我们通过 argg.defineType 方法定义了一个名为 date 的自定义类型,该类型需要接收一个日期字符串,例如 '2021-10-10',如果传入的参数不是合法的日期字符串,则会抛出错误。

接着我们在参数配置中使用了该类型:dateArg 是一个日期型参数,可以通过 -d 或 --date-arg 来指定,通过 defineType 方法定义了日期类型。当我们传入这个参数时,argg 会自动调用定义的 date 函数对其进行解析,如果传入的参数是一个符合规定的日期字符串,则返回对应的 Date 对象。

参数校验

argg 不仅支持参数的定义和解析,还支持参数的校验。我们可以通过在参数配置中添加 validator 函数来实现参数校验。例如以下代码:

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

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

以上代码中,我们通过 configure 方法定义了一个 validator 函数,该函数接收一个包含所有参数值的对象,可以在该函数中对参数值进行校验。在该 validator 函数中,我们判断了如果 numArg 小于 2 并且 arrayArg 为空数组,则抛出错误。

接着我们通过 config 方法来配置 numArg 和 arrayArg 两个参数。当我们调用 args 函数并传入参数值时,argg 会自动调用我们定义的 validator 函数对参数值进行校验,如果参数不合法,则会抛出错误。

总结

argg 是一款非常实用的 npm 包,可以帮助我们快速地处理命令行参数,并且拥有灵活多样的参数类型和参数校验功能。通过本文的介绍,相信读者已经对 argg 的使用方法和 API 有了更深入的了解,希望本文对读者有所帮助,帮助读者更好地使用和掌握 argg。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/57932

纠错
反馈