minimist库的基础使用
minimist 是一个用来解析命令行选项的库
基础使用
var parseArgs = require('minimist')
var argv = parseArgs(args, opts)
返回的argv 返回一个对象, 其中 argv._包含了所有不包含选项的参数,其它的key为选项,值对应的具体的选项的值。
其中opts选项支持如下设置:
- opts.string 一个字符串或者是一组字符串,表示这些选项的值会被当做字符串解析.
- opts.boolean 一个bool值、字符串或者是一组字符串。 如果为true, 那么所有以 -- 开头的参数都会被解析成boolean, 如果是字符串或是字符串数组, 那么对应的选项值会被解析成bool值
- opts.alias 一个别名的映射,一个选项可以映射到不同的选项别名
- opts.default 给对应的选项设置默认值
- opts.stopEarly 如果为true,那么argv._下会保存第一个非选项后的所有参数, 默认false
- opts['--'] 如果为true,argv._ 会保存到 -- 之前的选项, argv['--']会保留 -- 之后的选项
- opts.unknown 一个函数, 参数为未设定的选项名,如果返回true,则会被添加到解析结果中,否则不添加
测试代码
function processUnknown(command) {
console.log(command);
return false;
}
var argv = require('minimist')(process.argv.slice(2), {
boolean: ['hello', 's'],
alias: { s: ['isStudent', 'isOk'] },
default: { height: 100 },
// stopEarly: true,
// '--': true,
unknown: processUnknown
});
console.dir(argv);
node index.js --hello false cc --no-world -s false aa -a 100
cc
--no-world
aa
-a
{ _: [],
hello: false,
s: false,
isStudent: false,
isOk: false,
height: 100 }