commander

命令行参数解决方案
https://github.com/tj/commander.js/blob/HEAD/Readme_zh-CN.md

术语 解释
选项(option) -后跟单个字母,或--后跟单词(或以-连接的多个单词),例如-s及—short
选项参数(option-argument) 有的选项可以接受一个参数
命令(command) 一个程序或命令可以包含子命令
命令参数(command-argument) 传给命令的参数(不包含选项或选项参数)

option

  • 不配置参数,则是布尔值
  • 设置参数,未指定的话为undefined ```jsx const { program } = require(‘commander’);

program .option(‘—first’) .option(‘-s, —separator ‘);

program.parse();

const options = program.opts(); const limit = options.first ? 1 : undefined; console.log(program.args[0].split(options.separator, limit));

  1. ```bash
  2. node split.js -s / --first a/b/c
  3. [ 'a' ]

minimist

命令行参数解析
https://github.com/substack/minimist

  1. var argv = require('minimist')(process.argv.slice(2));
  2. console.log(argv);
  1. const args = require('minimist')(process.argv.slice(2))
  2. node test.js -a a -b b
  3. // args: {_: [], a: 'a', b: 'b'}
  4. node test.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
  5. // { _: [ 'foo', 'bar', 'baz' ],
  6. // x: 3,
  7. // y: 4,
  8. // n: 5,
  9. // a: true,
  10. // b: true,
  11. // c: true,
  12. // beep: 'boop' }

minimist会解析参数,并放到一个对象中。_ 是个数组,存的所有没有关联选项的参数

参考