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。程序会依次询问你的名字和年龄,并输出相应的信息。

发表评论

后才能评论