📜  如何使用 Node.js 构建 JavaScript 命令行界面 (CLI)

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

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

在本文中,我们将了解如何在 NodeJs 的帮助下创建 JavaScript CLI。

JavaScript 作为解释器语言,它是一种非常动态的语言,因此它为我们提供了许多便利,因此许多任务变得非常容易,任何人都可以很容易地理解它们,所以在当今时代 JavaScript 它是最世界上流行的编程语言,这就是为什么今天许多工具都内置在其中的原因。

在本文中,我们将在 JavaScript 的帮助下构建一个 CLI 应用程序。我们需要 NodeJs 来直接运行 JavaScript。如果您尚未在计算机上安装 NodeJs 或在 NodeJs 中遇到任何问题,请参阅本文。

方法:我们想用 JavaScript 制作一个 CLI 应用程序,但 JavaScript 只在浏览器上运行,但如果我们想在浏览器之外使用它,那么我们需要 NodeJS 提供的运行时,所以我们必须使用 NodeJs。然后我们将能够在 JavaScript 的帮助下创建一个 CLI 应用程序。我们将使用 nodejs 的 readline 模块。

分步实施:

第一步:第一步,我们搭建一个NodeJs项目环境。如果你还没有安装 NPM 或 NodeJs,请参考这篇文章。

  • 运行以下命令并启动 NodeJs 项目。
npm init -y

使用“-y”保留所有问题的默认答案。

项目结构:做完上面的事情后,创建一个 index.js 文件用于编写我们的代码,目录如下所示。

.第 2 步:现在我们将看到 NodeJs readline 模块的工作。

readline 模块允许一次读取一行数据流。它可以通过 require() 方法包含在代码中。我们可以在 readline 模块中输入我们想要的任何数据流,这允许我们使用标准输入和输出流。或者 readline 模块提供了一个接口,用于从可读流(例如 process.stdin)一次读取一行数据。可以使用访问它。 readline 的 question 方法提供了一种运行查询-响应机制的工具,我们使用 question 方法并传递两个参数,第一个是查询,第二个是自定义处理程序,以将参数作为处理程序函数的输入。

句法:

readline.question(query, callback);

接受显示查询字符串和回调函数作为用户对查询的输入的响应。 readline 的createInterface方法提供了一个接口对象来使用 readline 及其方法。

句法:

readline.createInterface();

现在让我们看看上述方法的代码实现。下面的代码显示了使用 readline 模块作为 CLI 接受来自用户的输入。

index.js
// import the readline module for work with stdin, or stdout.
const readline = require('readline');
  
// create a readline object to work with the stream.
// pass the stdin, or stdout in the current process.
const prompts = readline.createInterface(process.stdin, process.stdout);
  
// create a question or there handler.
prompts.question('Enter Learning Resources Name : ', (response) => {
  
    // check the response.
    if(response.toLocaleLowerCase() == 'gfg') {
        console.log("You are a part of the very huge learning community.");
    }else {
        console.log("Have a look at Geeksforgeeks, they solve many of your 
        technical doubts.");
    }
  
    // after the all work is done want to terminate this process.
    process.exit();
});


运行应用程序的步骤:

node index.js

输出:

说明: createInterface 方法用于创建一个接口来接受用户输入。它有两个参数,当前进程的标准输入(stdin)和标准输出(stdout)。接下来,createInterface 对象的 question() 方法用于向用户提示问题。第二个参数是一个回调函数,它将处理作为参数传递给它的用户输入。函数内部的逻辑将根据用户输入值的评估显示适当的消息。 process.exit() 语句允许退出代码,否则接口将继续从标准输入读取。