1.0.3 • Published 6 years ago

read-and-excute v1.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

项目简介

该工具用于解析命令行指令及参数,具有轻量的特点,无任何第三方依赖。其具体格式为:command -instruct_1 param_1 param_2 -instruct_2 param_1 param_2。假设运行:

node index.js -open chrome -config config.js // chrome为-open参数,config.js为-config参数
node index.js -o chrome -c config.js // chrome 为 -o参数,config.js为-config参数
node index.js -o -c config.js // -o使用默认配置
node index.js -o chrome firefox // -c使用默认配置,-o参数为chrome和firefox

即,一个指令可以对应于多个参数。

用法介绍

var Args = require('read-and-excute');

配置

var customArgs = new Args({
    binName: '', // 可选,默认为'userBin'
    version: '', // 可选,默认为'1.0.0'
    commands: [], // 字符串数组,可选。可通过addCommand添加。
    commandsAndOptionsTips: '', // 可选,用于描述指令和选项
    descriptions: [], // 字符串数组,可选,用于描述指令的作用。可通过addCommand添加。
    options: [[]], // 字符串数组的数组,可选。可通过addOptions添加选项。
    realFunction: [], // commands对应的执行函数,可选。可通过addCommand添加。
    globalConfig: {}, // 全局配置,可选。
});
其中,commands、options、realFunction中的顺序一一对应。
globalConfig = {
    replaceCommandWhenAdd: false, // 默认为false, 表示不覆盖已有的command配置。若使用默认设置,当对已有command配置进行addCommand时会报错
}

添加指令

/**
 * 添加一条指令
 * @param  {string} instruct 添加指令的字符串
 * @param  {string} description 添加指令的描述
 * @param  {function} callback 命中指令时的回调
 * @return {customArgs}     返回调用该方法的对象
 */
customArgs.addCommand(instruct, description, callback);

对已有或者尚未添加的指令添加选项

/**
 * 添加选项
 * @param  {string} instruct 已存在或者未存在的指令
 * @param  {string|array} options 需要添加的选项
 * @return {customArgs}     返回调用该方法的对象
 */
customArgs.addOptions(instruct, options);

使用addConfig添加指令和选项

/**
 * 添加指令和选项
 * @param  {object} config 需要添加的指令和选项
 * @return {customArgs}     返回调用该方法的对象
 */
customArgs.addConfig(config);
其中,config = {
    command: string,
    description: string,
    options: string[],
    callback: function
}

显示帮助菜单

node index.js -help
# 将会显示帮助菜单

执行

/**
 * 执行命令
 * @return {customArgs}     返回调用该方法的对象
 */
customArgs.excute();

执行回调时会将参数传入函数。如将'chrome', 'firefox'传入回调。

升级说明

v1.0.1

修改了更为详细的注释。Args.addOptions添加了对字符串options的支持。

v1.0.2

添加使用-help指令显示帮助文档。

v1.0.3

修复相对解析地址错误。