如何使用 Node.js 构建自己的 CLI(命令行界面)?
简介:命令行界面 (CLI) 是基于文本的用户界面 (UI),用于运行程序、管理文件以及与计算机交互。使用 Node.js 构建自己的 CLI 比您想象的要容易。有很多开源包可以轻松处理颜色、动画和用户输入。在本文中,我们将在 Node.js 的帮助下构建一个简单的 CLI 工具。
先决条件:
- Node.js 基础知识
创建 CLI 的步骤:
第 1 步:为项目创建一个文件夹并在该文件夹中打开您最喜欢的 IDE(例如 VS Code、Atom 等)。
第 2 步:在项目文件夹中打开一个终端并键入npm init -y ,这将简单地生成一个空的 npm 项目,而无需通过交互过程。
第 3 步:让我们安装此项目所需的一些开源 npm 包:
npm install figlet
npm install inquirer
npm install gradient-string
要了解有关这些软件包的更多信息,请查看其官方文档。
第 4 步:在项目文件夹中创建一个名为index.js的文件。
第 5 步:现在,让我们在index.js文件中编写以下代码:
方法:我们将只创建一个函数来问候用户。在 greet()函数中将包含三个部分。首先,我们将在终端上显示“Geeks CLI”欢迎消息。为此,我们将使用 figlet 包,它是一个基于 ASCII字符生成文本的程序。其次,我们将提示用户使用inquirer包在终端中输入他/她的名字并将其存储在一个变量中。最后,我们将用他/她的名字问候用户,并使用 gradients-string 包为消息着色。
Javascript
import figlet from "figlet";
import inquirer from "inquirer";
import gradient from "gradient-string";
// Declare a variable to store the user's name
let userName;
const greet = async () => {
// Displaying Geeks CLI
figlet('Geeks CLI', function (err, data) {
console.log(data)
});
// Wait for 2secs
await new Promise(resolve => setTimeout(resolve, 2000));
// Ask the user's name
const { name } = await inquirer.prompt({
type: "input",
name: "name",
message: "Enter your name?"
});
// Set the user's name
userName = name;
// Print the welcome message
const msg = `Hello ${userName}!`;
figlet(msg, (err, data) => {
console.log(gradient.pastel.multiline(data));
});
}
// Call the askName function
greet();
第 6 步:让我们运行应用程序。在终端中输入node index.js 。
输出: