如何使用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()函数中,将包含三个部分。首先,我们将使用ASCII字符生成器figlet在终端上显示“Geeks CLI”欢迎消息。其次,我们将使用inquirer包在终端提示用户输入名字,并将其存储在一个变量中。最后,我们将使用gradients-string包来使用渐变颜色问候用户。
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 。
输出: