Я пробую 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
, Означает ли это, что невозможно использовать любую из этих строк в качестве параметров для моей программы, или есть обходной путь? Это где-нибудь задокументировано?