Невозможно получить аргумент с Commanderjs - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь передать аргумент командной строки через узел следующим образом: npm start -s config.yml, где npm start отображается в node app.js в моем package.json.

app.js выглядит следующим образом:

const program = require('commander');

console.log(process.argv);

program
    .command('-s, --shell <value>', '.yml config file')
    .parse(process.argv);

console.log(program.shell);

аргумент передается через process.argv, но когда я регистрирую program.shell, он возвращается неопределенным.Что я делаю не так?

1 Ответ

0 голосов
/ 01 июня 2018

Выполнение следующего:

$ node runme.js shell aceofspades

В следующем файле:

// FILE: runme.js
const program = require('commander');

program
  .command('shell [value]', '.yml config file')
  .action((cmd, opt) => {
    console.log('cmd:', cmd);   // shell
    console.log('opt:', opt);   // aceofspades
  });

program.parse(process.argv);

Дает мне команду и аргументы в функции действиядля команды.

...