一、什么是readline
readline是Node.js里实现标准输入输出的封装好的模块,通过这个模块我们可以以逐行的方式读取数据流。可以使用require('readline')导入。
二、vscode中readline的使用
const readline=require('readline')//引入readline模块
// 创建实例
const r1=readline.createInterface({
input:process.stdin,
output:process.stdout
})
// 调用readline的相关接口实现输入或输出
//str中存放从终端中输入的数据
r1.question('请输入数据:',function(str){
console.log('你输入的数据是:'+str);
r1.close();//必须调用,否则输入一直持续
})
// 监听readline的相关事件
r1.on('close',function(){
process.exit(0);
})
点击终端-->新终端
在终端中进行输入
三、示例
1.输入输出
const readline=require('readline')//引入readline模块
// 创建实例
const r1=readline.createInterface({
input:process.stdin,
output:process.stdout
})
console.log('请输入数据')
// 通过事件监听的方式实现数据的输入
r1.on('line',function(date){
console.log('你输入的数据是'+date)
r1.close()
})
// 监听readline的相关事件
r1.on('close',function(){
process.exit(0);
})
2.模拟命令行进行输入输出
const readline=require('readline')//引入readline模块
// 创建实例
const r1=readline.createInterface({
input:process.stdin,
output:process.stdout
})
// 调用readline的相关接口实现输入或输出
r1.setPrompt('Text>')//设置命令行提示符
r1.prompt()//应用命令行提示符
console.log('请输入数据')
// 通过事件监听的方式实现数据的输入
r1.on('line',function(date){
console.log('你输入的数据是'+date)
r1.prompt()//循环输入输出
r1.close()//退出
})
// 监听readline的相关事件
r1.on('close',function(){
process.exit(0);
})