读取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