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

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

在本文中,我们将看到如何借助Node.js创建JavaScript命令行界面(CLI)。

JavaScript是一种解释语言,它是一种非常动态的语言,因此它为我们提供了许多便利,许多任务因此变得非常容易,任何人都可以轻松理解它们,因此在当今时代,JavaScript是世界上最受欢迎的编程语言之一,所以今天许多工具都是用JavaScript构建的。

在本文中,我们将借助JavaScript构建一个CLI应用程序。我们需要Node.js来直接运行JavaScript。如果您尚未在计算机上安装Node.js或遇到任何Node.js相关问题,请参考本文。

方法: 我们希望在JavaScript中创建一个CLI应用程序,但是JavaScript只能在浏览器上运行,如果我们想在浏览器外使用它,我们将需要Node.js提供的运行时环境,所以我们必须使用Node.js。然后我们将能够借助JavaScript创建一个CLI应用程序。我们将使用Node.js的readline模块。

逐步实现:

步骤1: 在第一步中,我们设置了一个Node.js项目环境。如果您尚未安装NPM或Node.js,请参考本文。

  • 运行以下命令并初始化Node.js项目。
npm init -y

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

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

项目结构: 完成上述操作后,进入创建一个 index.js 文件来编写我们的代码,目录的结构如下所示。

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

步骤2: 现在我们将看到Node.js的readline模块的工作原理。

readline模块允许一次读取一个数据流的一行。可以使用require()方法将其包含在代码中。我们可以在readline模块中输入任何我们想要的数据流,这使得我们能够使用标准输入和输出流进行操作。或者readline模块提供了一种从可读流(例如process.stdin)一次读取一行数据的接口。可以使用readline的question方法访问。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

输出:

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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程