下面是Node.js中readline模块实现终端输入的完整攻略。
什么是readline模块
readline
是Node.js内置的模块,它提供了从流(例如stdin和文件)中逐行读取数据的功能。该模块主要用于读取用户在终端中的输入,支持基本的编辑操作(如回退、前进、删除等)。
readline模块的基本使用方法
在使用readline模块前,需要先使用require语句将其引入:
const readline = require('readline');
使用readline实现终端输入
接下来,我们通过示例代码实现在终端中输入一行文本并输出,代码如下:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('请输入一行文本:', (answer) => {
console.log(`你输入了:${answer}`);
rl.close();
});
上述代码中,我们通过readline.createInterface
方法创建了一个rl
对象,通过rl.question
方法向终端中问询一个问题,然后使用回调函数获取用户输入的文本。
使用readline实现持续输入
读取单行数据的方法已经介绍了,接下来我们来看看如何读取多行数据。这里我们通过循环读取,一直到用户输入“stop”为止。代码如下:
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
function readLine() {
rl.question('请输入一行文本:', (answer) => {
if (answer === 'stop') {
rl.close();
return;
}
console.log(`你输入了:${answer}`);
readLine();
});
}
readLine();
在上述代码中,我们定义了一个名为readLine
的函数,该函数通过rl.question
方法向终端中问询一个问题,并通过递归的方式一直循环读取用户输入,直到用户输入了“stop”为止。
总结
以上就是Node.js中readline模块实现终端输入的攻略。通过上述示例代码我们可以看出,读取终端输入最基本的方法就是使用rl.question
方法,通过回调函数获取用户输入的文本数据,实现持续输入则可以通过递归循环的方式实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js中readline模块实现终端输入 - Python技术站