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

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

简介: 命令行界面(CLI)是一个文本化的用户界面(UI),用于运行程序、管理文件和与计算机交互。使用Node.js构建自己的CLI比您想象的要简单得多。有许多开源软件包可轻松处理颜色、动画和用户输入。在本文中,我们将利用Node.js的帮助构建一个简单的CLI工具。

先决条件:

  • Node.js的基础知识

创建CLI的步骤:

步骤1: 为项目创建一个文件夹,并在该文件夹中打开您喜欢的IDE(例如VS Code,Atom等)。

步骤2: 在项目文件夹中打开一个终端并输入 npm init -y ,这将简单地生成一个空的npm项目,而不需要进行交互式过程。

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

步骤3: 让我们安装一些这个项目所需的开源 npm 包:

npm install figlet
npm install inquirer
npm install gradient-string

要了解更多关于这些包的信息,请查看它们的官方文档。

步骤4: 在项目文件夹中创建一个名为 index.js 的文件。

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

步骤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

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

输出:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程