commander.js: не удается использовать параметр с именем «options» - PullRequest
0 голосов
/ 16 мая 2018

Я пробую commander.js для анализа аргументов в моем инструменте командной строки, но он не работает должным образом, когда я использую параметр с именем --options:

// two params, both are optional
program
  .option('--api <apiYaml>')
  .option('--options <optionsYaml>')
  .parse(process.argv);

if (program.options) {
  let optionsFile = path.resolve(program.options);
  ...

if (program.api) {
  let apiFile = path.resolve(program.api);
  ...

Этот код отлично работает для параметра --api, но умирает, когда я вызываю без параметра --options.

Добавляя отладку и просматривая объект program, я вижу, что проблема в том, что program уже имеет свойство options, а также свойства с именами args, commands и rawArgs , Означает ли это, что невозможно использовать любую из этих строк в качестве параметров для моей программы, или есть обходной путь? Это где-нибудь задокументировано?

...