读取node.js命令行输入内容的小工具 进入全屏
/** * 读取node.js命令行输入内容的小工具 * * @api * exports.startStepByStep; * exports.readLine; * * @example * var prompt = require('prompt.js'); * prompt.startStepByStep({ * step1 : function(){ * prompt.readLine('请输入账号:',function(username){ * }); * }, * step2 : function(){ * prompt.readLine('请输入密码:',function(password){ * },true); * } * },0); * * @author zhaoxianlie */
主要对外暴露两个方法:
1、startStepByStep
/** * 启动prompt,且按照stepMap逐个执行 (之后再考虑升级成Promise模式) * @param _stepMap 等待执行的step队列,JSON格式,格式如: * @param firstStep 从stepMap中的第几个开始执行,默认是第一个 * * @example * var prompt = require('prompt.js'); * prompt.startStepByStep({ * step1 : function(){}, * step2 : function(){} * },0); */ var startStepByStep = function (_stepMap, firstStep) {};
2、readLine
/** * 读取命令行的输入 * @param tips 提示文字 * @param callback 输入结束后的回调,格式为:function(data){} * @param secure 是否为安全码输入模式,默认:false * * @example * var prompt = require('prompt.js'); * prompt.readLine('请输入密码:',function(data){ * var password = data; * },true); */ var readLine = function (tips, callback, secure) {};
使用例:
var prompt = require('./prompt.js'); var svnInfo = {}; function svnPassword() { prompt.readLine('请输入svn密码:',function(data){ // 返回false则表示数据不合法,需要重新输入 if(!data) return false; svnInfo.pass = data; // 数据合法,返回true return true; },true); } function svnUsername() { prompt.readLine('请输入svn帐号:',function(data){ // 返回false则表示数据不合法,需要重新输入 if(!data) return false; svnInfo.user = data; // 数据合法,返回true return true; },false); } prompt.startStepByStep({ svnUser:svnUsername, svnPass:svnPassword });
运行一下,效果是这样的:
源代码:prompt.js