作者:AI 语音助手
贴纸应用程序是一种非常流行的应用程序。在本文中,我们将演示如何在 Deno 中创建一个命令行界面(CL)贴纸应用程序。
前置知识
在继续之前,您需要了解一些基础知识:
- TypeScript
- Deno
- 命令行界面(CLI)
准备工作
在开始创建我们的 CLI 贴纸应用程序之前,我们需要确保我们已经安装了 Deno。您可以在官方 Deno 网站上找到有关安装 Deno 的详细说明。
现在,让我们为我们的应用程序创建一个新的文件夹,并将其命名为 sticker-cli
。
在这个文件夹中,我们需要创建以下两个文件:
mod.ts
utils.ts
现在,我们已经准备好开始编写代码!
编写代码
建立 Deno 运行时环境
首先,让我们在 mod.ts
文件中设置 Deno 运行时环境:
import { existsSync, readJsonSync, writeJsonSync } from "https://deno.land/std/fs/mod.ts"; import { bold, green, red } from "https://deno.land/std/fmt/colors.ts"; import { parse } from "https://deno.land/std/flags/mod.ts"; import { Prompt } from "https://deno.land/x/cliffy/prompt.ts"; import { Sticker } from "./utils.ts";
在此代码中,我们从 Deno 标准模块库中导入了 existsSync
、readJsonSync
和 writeJsonSync
函数,以及 bold
、green
和 red
颜色常量。
我们还导入了 parse
函数,用于解析命令行参数。此外,我们还导入了 Prompt
类(通过 cliffy
库)和 Sticker
类(通过 utils
模块)。
创建贴纸类
现在,让我们创建一个 Sticker
类,用于管理我们的贴纸。在 utils.ts
文件中,我们将创建一个 Sticker
类:
-- -------------------- ---- ------- ------ ----- ------- - ----- ------- ------------ ------- ------ ------- ----------------- ------- ------------ ------- ------ ------- - --------- - ----- ---------------- - ------------ ---------- - ------ - ----------- ------ - ------ ---------------- --------------------- ------ --------------- - -
这个 Sticker
类拥有三个属性:name
、description
和 color
。我们需要这些属性来定义我们的贴纸。
实现 CLI 贴纸应用
现在,我们已经创建了必要的类和模块,让我们使用 CLI 和贴纸类来构建我们的贴纸应用程序。
在 mod.ts
文件中,我们将使用 parse
函数解析命令行参数。我们将使用以下命令行选项:
--add
添加新的贴纸--list
显示现有贴纸
const argParser = parse(Deno.args);
接下来,我们将编写我们的贴纸应用程序的主要逻辑。
首先,让我们检查是否已经存在一个贴纸列表文件:
const stickerFile = "stickers.json"; let stickers: Sticker[] = []; if (existsSync(stickerFile)) { stickers = readJsonSync(stickerFile); }
接下来,我们将实现 add
方法,该方法将新的贴纸添加到贴纸列表中:
-- -------------------- ---- ------- ----- -------- ----- - ----- ---- - ----- -------------------- ------- -------- ----- ----------- - ----- -------------------- ------- --------------- ----- ----- - ----- -------------------- ------- --------- ----- ------- - --- ------------- ------------ ------- ----------------------- -------------------------- ---------- -------------------------------- --- ---- ----- -- ---- ------- --------------- -
我们使用 await Prompt.prompt()
从命令行界面提示用户输入新贴纸的名称,描述和颜色。然后,我们使用这些信息创建一个新的 Sticker
对象,并将其添加到贴纸数组中。
最后,我们将调用 writeJsonSync
函数将贴纸数组写入磁盘,并使用 console.log()
方法向用户显示成功消息。
现在,我们已经实现了 add
方法,让我们继续实现 list
方法。
function list() { if (stickers.length === 0) { console.log(red(`You don't have any stickers yet!`)); return; } stickers.forEach((sticker) => console.log(sticker.toString())); }
这个 list
方法对我们的贴纸列表进行循环,并使用 console.log()
方法将每个贴纸信息打印到控制台。如果没有贴纸存在,则会显示一个相应的失败消息。
最后一步是根据命令行参数调用适当的方法:
if (argParser.add) { add(); } else if (argParser.list) { list(); } else { console.log(red(`Invalid command! Use '--add' to add a new sticker or '--list' to list all stickers.`)); }
总结
在本文中,我们展示了如何在 Deno 中创建一个 CLI 贴纸应用程序。我们涵盖了 TypeScript、Deno 和命令行界面等基础知识,并介绍了 Prompt
类,该类可用于从命令行读取用户输入。我们还演示了如何将贴纸信息存储在一个 JSON 文件中。在此之后,我们可以继续增强我们的应用程序,使其支持更多的命令和功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645f2be4968c7c53b0140ab7