不自重者,取辱。不自长者,取祸。不自满者,受益。不自足者,博闻。
读取node.js命令行输入内容的小工具 进入全屏
line
/**
 * 读取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

趣店(原趣分期)技术学院
重点关注技术架构、服务化、优秀工具、自动化平台、开发全流程一体化解决方案、新人培养、工程师进阶之道等方面
这里环境优雅、氛围年轻、主要是福利还多,还等什么?我们敞开技术的大门,欢迎各种工程师加入!

评论区域

line
  • hacke2 2015-01-16 10:05:08 回复
    能有阻塞式的吗?就是等待用户输入完才能执行下面的代码
  • blog 2014-09-09 00:15:21 回复
    博主您好,偶然间发现您的网站,感觉很多实用的内容,微信相关的,小弟现在研究一个问题,一直没有突破瓶颈,想查询指定的微信账号的历史消息,通过pc端的浏览器,有什么办法呢?