Node.js的用户交互(使用readline模块)
内容来源:https://www.jianshu.com/p/b761111eef72
在程序运行时可以使用键盘对程序进行控制,就像使用shell界面一样
Readline:node.js的里实现的标准输入输出的模块,这个模块提供的接口可以从一个可读的留中读取数据,每次读取一行
简单例子:
const readline = require('readline');//创建readline接口实例 const rl = readline.createInterface({input: process.stdin, //设置标准的输入流output: process.stdout //设置标准输出流 });// question方法 rl.question('请输入: ', function(answer){console.log('你输入的内容是 {%s}', answer.toUpperCase());// 不加close,则不会结束 rl.close(); });
输出:
请输入: 1233 你输入的内容是 {1233}
另一个高级例子:
var readline = require('readline'); var rl = readline.createInterface(process.stdin, process.stdout);/* * 方法setPromat(promat),就是给每一行设置一个提示符,就好比window命令行的> ,我们这里设置的是Test> * promat()可以算是最重要的方法了,因为它才体现了Readline的核心作用,以行为单位读取数据,premat方法就是在等待用户输入数据 * 这里又监听了’line’ 事件,因为promat方法调用一次就只会读取一次数据,所以,在这个方法又调用了一次promat方法,这样就可以继续读取用户输入,从而达到一种命令行的效果 */rl.setPrompt('Test> '); rl.prompt();rl.on('line', function(line) {switch(line.trim()) {case 'copy':console.log("复制");break;case 'hello':console.log('world!');break;case 'close':rl.close();break;default:console.log('没有找到命令!');break;}rl.prompt(); });rl.on('close', function() {console.log('bye bye!');process.exit(0); });
Test> copy 复制 Test> hello world! Test> world 没有找到命令! Test> close bye bye!
转载于:https://www.cnblogs.com/yupixiu/p/10319755.html
Node.js的用户交互(使用readline模块)相关推荐
- Ajax+Node.js前后端交互最佳入门实践(01)
1.Node.js简介 1.0.前后台数据交互流程 在web开发中,我们经常听说前端和后台,他们分别是做什么具体工作的呢?他们怎样交互的呢?我们得把这些基础的问题都搞明白了,才有一个大致的学习方向,首 ...
- vue+node.js前后端交互中的token令牌验证
这篇文章分享一下本人学习vue+node.js前后端交互中的登录token令牌的心得 最近准备写一个个人博客网站,前端采用的是vue+element,后端用node.js 在做用户登录的时候就想到 如 ...
- 深入浅出Node.js(八):Connect模块解析(之二)静态文件中间件
为什么80%的码农都做不了架构师?>>> 上一篇专栏简单介绍了Connect模块的基本架构,它的执行模型十分简单,中间件机制也使得它十分易于扩展,具备良好的可伸缩性.在Conn ...
- 关于node.js和C交互的方法
下面来至https://blog.csdn.net/cut001/article/details/69397022的方法 FUNCTION ulong DesEnCodeHex(string str, ...
- 【前端学习项目】web前端#001网页点名器(html+css+js实现用户交互)
目录 首先先把学生一个一个的放到数组中 其次遍历这个数组 然后按钮事件触发 最后附上完整代码: 最后的实现 这个故事是这样开始的,新学期伊始,我们java老师为了检测学生的java基础水平,留下了这么 ...
- Ajax+Node.js前后端交互最佳入门实践(05)
5.ajax简介 5.1.什么是ajax Asynchronous JavaScript and XML ,异步的javascript和XML 5.2.使用ajax有什么用 数据交互,可以从服务器获取 ...
- Ajax+Node.js前后端交互最佳入门实践(04)
4.JSON 4.1 什么是JSON? JavaScript 对象表示法(JavaScript Object Notation)简称JSON,是一种轻量级的数据交换格式.虽然它基于JavaScript ...
- 【uniapp+node.js】用户式加班计算器项目
公司实行加班制度:固定每周加班6个小时 每天上班时间为8个小时 中午休息时间为12:00- 1:30 算起来好麻烦 直接写个软件吧 感觉还有其他人会用 再搞个账号注册登录吧! 加班时长规则为:总上班时 ...
- node.js浅入深出---fs模块的stat判断是否为文件夹
判断文件夹下的bbb是否为文件夹,若是的返回true var http = require("http"); var fs = require("fs"); v ...
最新文章
- leetcode-53 最大子序和
- 清华大学全面审查文科博士论文!
- ORM版学员管理系统2
- Linux Epoll 一网打尽
- window 自动安装MySQL数据库_windows安装MySQL数据库
- spreadsheet js中创建下拉列表_JS 中创建自定义排序方法
- 组合选择符 深入了解
- 十大网络安全策略 打造坚固的内网
- git rebase vs git merge
- 【算法原理+洛谷P6114+HDU6761】Lyndon分解
- jQuery文档加载完毕的几种写法
- 【Linux operation 18】 - SUSE 12 SP5在线安装Docker
- 一个div里面包含两个div让两个div垂直居中
- 网关gate启动报错Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.g
- Qt 小例子学习14 - 动态滚动QScrollArea
- printf二进制输出
- 国家开放大学《国际经济法》第二章 国际货物买卖法 边学边练
- 个人支付微信支付宝接口
- leet 75. 颜色分类
- TZT1306标准模拟应变源