Node 如何实现一个简单的命令行交互程序?
在Node.js中实现一个简单的命令行交互程序,你可以使用内置的readline
模块。readline
模块提供了一个接口用于从可读流中读取数据,例如process.stdin
,这样你就可以在命令行中与用户进行交互了。
下面是一个简单的示例,展示如何使用readline
模块创建一个命令行交互程序:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('请告诉我你的名字:', (name) => {
console.log(`你好,{name}!`);
rl.question('你多大了?', (age) => {
console.log(`你{age}岁了。`);
rl.close();
});
});
在这个例子中,我们首先引入了readline
模块,并创建了一个readline.Interface
实例,指定了输入流为process.stdin
(标准输入),输出流为process.stdout
(标准输出)。
接着,我们使用rl.question
方法来向用户显示一个问题,并等待用户的输入。这个方法接受两个参数:第一个参数是要显示的问题字符串,第二个参数是一个回调函数,它会在用户输入完毕后被调用,并且用户的输入会作为回调函数的参数。
在回调函数中,我们可以根据用户的输入来执行相应的操作,并可以继续询问下一个问题,或者使用rl.close
方法关闭readline
接口。
要运行这个程序,你可以将上面的代码保存到一个.js
文件中,例如cli.js
,然后在命令行中运行node cli.js
。程序会依次询问你的名字和年龄,并输出相应的信息。