npm 包 neodoc 使用教程

阅读时长 7 分钟读完

介绍

neodoc 是一个由 Haskell 编写的命令行参数解析库,其设计初衷是为了解决别名参数和简短选项的问题。neodoc 具有以下几个特点:

  • 可以非常方便地包含必选参数、可选参数和标志参数。
  • 允许用户指定与每个参数相关联的方法,以便在参数解析器执行时调用。
  • 如果未指定参数解析出现问题,neodoc 将提供有用的反馈。

在本文中,我们将详细介绍如何使用 neodoc。

安装

neodoc 可以通过 npm 安装:

使用

在使用前,我们需要按照以下方式导入所需的包:

例如,我们可以定义一个使用 neodoc 解析的命令行:

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

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

上述代码中,我们使用了 run 函数将参数解析器应用于命令行。参数解析器值得包括了两个部分:命令描述和实际程序参数。在上述例子中,命令描述使用 Markdown 标记语言编写,并包含程序所需的选项和帮助信息。实际程序参数包括所有在命令行上指定的选项和标志。

例如,如果我们执行以下命令,则将触发参数解析:

在上述例子中,args 变量将包含以下内容:

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

深度学习

现在我们来看一些更细致的例子。

假设我们想编写一个 MD5 散列函数的命令行工具。我们可以编写如下参数解析器:

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

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

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

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

在上述例子中,我们定义了命令 md5sum ,可以让我们指定要计算散列值的文件。我们还定义了选项 -h-v ,用于显示帮助和版本信息。 -f 参数用于指定输出格式。最后,我们设置了一个标志 -i ,表示忽略缺少的文件。

无论我们想调用什么参数解析器,最好的方法是编写一个单独的函数。例如:

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

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

现在,我们可以像这样使用它:

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

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

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

使用上面的 md5sum 函数,我们就能够将参数解析器与容易维护的应用程序代码分开。如果应用程序是更大的项目的一部分,或者如果应用程序维护了多个命令,这种分离是非常有用的。

指导意义

通过学习 neodoc,我们可以看到它有以下几个优势:

  1. 它是一个轻量级的库,可以轻松解决命令行参数解析的问题。
  2. 它允许我们轻松地将参数解析器与应用程序功能分开。
  3. 可以用 Markdown 编写命令描述,易于更新和维护。

因此,我们强烈建议在处理命令行的时候,考虑使用 neodoc。它是一个灵活好用的工具,可以让我们快速构建出健壮和易用的命令行工具。

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

纠错
反馈