Deno 教程 目录

Deno CLI工具开发

安装 Deno

首先,你需要安装 Deno。你可以通过多种方式安装 Deno,但最简单的方法是使用官方提供的安装脚本。在你的终端中输入以下命令:

安装完成后,确保将 Deno 的可执行文件添加到你的系统路径中。这通常意味着将 ~/.deno/bin 添加到你的 PATH 环境变量中。

检查安装是否成功

安装完成后,可以通过运行以下命令来检查 Deno 是否已正确安装:

如果一切正常,你应该能看到 Deno 的版本信息。

创建一个简单的 CLI 应用

我们将创建一个简单的 CLI 应用,该应用接收一个 URL 作为参数,并输出该 URL 的 HTTP 响应状态码。

初始化项目

首先,我们需要创建一个新的目录来存放我们的项目:

接下来,我们创建一个 mod.ts 文件,这是 Deno 应用的入口点:

编写代码

打开 mod.ts 文件并添加以下代码:

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

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

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

-------

这段代码首先从命令行参数中获取第一个参数,然后尝试访问该 URL 并打印出响应的状态码。

运行应用

要运行这个应用,只需在终端中输入:

你应该会看到类似如下的输出:

如果 URL 无效或无法访问,你会看到错误消息。

使用 deno install 命令

为了使这个 CLI 工具更易于使用,我们可以将其安装为全局可执行文件。这可以通过 deno install 命令完成。首先,我们需要给我们的脚本起一个名字,并指定它应该被安装在哪里。

mod.ts 文件中,添加 export 关键字,使其可以被导出为一个模块:

然后,使用 deno install 命令将其安装为一个全局可执行文件:

这里,--allow-net 允许网络访问,--unstable 开启不稳定功能,-A 表示自动处理所有权限,-n mycli 是设置全局命令名为 mycli

使用全局命令

现在你可以直接通过命令行调用 mycli 来运行你的 CLI 应用了:

处理命令行参数和选项

为了使 CLI 更加强大,我们可以添加更多的命令行参数和选项。Deno 提供了内置的 flags 模块来帮助我们处理这些参数。

引入 flags 模块

首先,我们需要引入 flags 模块:

修改 main 函数

接下来,我们修改 main 函数,以支持更多的命令行参数和选项:

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

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

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

运行 CLI 应用

现在,你可以通过传递 url 参数来运行 CLI 应用:

错误处理和日志记录

为了提高应用的健壮性和用户体验,我们需要添加适当的错误处理和日志记录机制。

添加日志记录

我们可以使用 console.logconsole.error 来记录日志。为了更好地组织日志,我们可以定义一个专门的日志函数:

修改错误处理逻辑

接下来,我们更新错误处理部分,以便使用新的日志函数:

总结

通过以上步骤,我们已经创建了一个简单的 Deno CLI 应用,能够接收命令行参数并处理网络请求。我们还学习了如何使用 Deno 的内置模块来简化开发过程,并添加了基本的日志记录和错误处理功能。希望这些内容对你有所帮助!

纠错
反馈