UNPKG

read-and-excute

Version:

a tool can read command line args and excute

99 lines (85 loc) 3.21 kB
# 项目简介 该工具用于解析命令行指令及参数,具有轻量的特点,无任何第三方依赖。其具体格式为:command -instruct_1 param_1 param_2 -instruct_2 param_1 param_2。假设运行: ```javascript 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'); ## 配置 ```javascript 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时会报错 } ``` ## 添加指令 ```javascript /** * 添加一条指令 * @param {string} instruct 添加指令的字符串 * @param {string} description 添加指令的描述 * @param {function} callback 命中指令时的回调 * @return {customArgs} 返回调用该方法的对象 */ customArgs.addCommand(instruct, description, callback); ``` ## 对已有或者尚未添加的指令添加选项 ```javascript /** * 添加选项 * @param {string} instruct 已存在或者未存在的指令 * @param {string|array} options 需要添加的选项 * @return {customArgs} 返回调用该方法的对象 */ customArgs.addOptions(instruct, options); ``` ## 使用addConfig添加指令和选项 ```javascript /** * 添加指令和选项 * @param {object} config 需要添加的指令和选项 * @return {customArgs} 返回调用该方法的对象 */ customArgs.addConfig(config); 其中,config = { command: string, description: string, options: string[], callback: function } ``` ## 显示帮助菜单 ```bash node index.js -help # 将会显示帮助菜单 ``` ## 执行 ```javascript /** * 执行命令 * @return {customArgs} 返回调用该方法的对象 */ customArgs.excute(); ``` 执行回调时会将参数传入函数。如将['chrome', 'firefox']传入回调。 # 升级说明 ## v1.0.1 修改了更为详细的注释。Args.addOptions添加了对字符串options的支持。 ## v1.0.2 添加使用-help指令显示帮助文档。 ## v1.0.3 修复相对解析地址错误。