📜  如何使用 Node.js 构建自己的 CLI(命令行界面)?

📅  最后修改于: 2022-05-13 01:56:18.034000             🧑  作者: Mango

如何使用 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

输出:

极客 CLI 演示