почему ArgumentParser возвращает ошибку: нераспознанные аргументы? - PullRequest
0 голосов
/ 27 декабря 2018

Я использую ArgumentParser для js, мне нужно отправить строку как один из параметров, но синтаксический анализатор возвращает эту ошибку: Нераспознанные аргументы: -filePath

const parser = new ArgumentParser({
  debug: true,
  version: "0.0.1",
  addHelp: true,
  description: "Argparse example",
});
parser.addArgument("-filePath", {
  type: String,
  defaultValue: "try",
  help: "send path to file",
});
function main() {
  try {
    const args = parser.parseArgs();
    console.log("args: ", args);
  } catch (e) {
    console.log(e);
  }
  console.log("DONE");
}

и отправлять аргументы следующим образом:

"args": ["-filePath = '../ts.xslx'"]

Как правильно это сделать?Я посмотрел в github официальном руководстве, но не нашел ничего полезного.чего мне не хватает?

1 Ответ

0 голосов
/ 27 декабря 2018

Используемый вами модуль "старой школы" достаточен для того, чтобы делать длинные варианты только с двойными чертами.

const { ArgumentParser } = require("argparse");

const parser = new ArgumentParser({
  debug: true,
  version: "0.0.1",
  addHelp: true,
  description: "Argparse example",
});

parser.addArgument(["-f", "--filePath"], {
  type: String,
  defaultValue: "try",
  help: "send path to file",
});

console.log(parser.parseArgs());

Это работает как с -f, так и с --filePath.

$ node test.js --filePath foo.js
args:  Namespace { filePath: 'foo.js' }
DONE
$ node test.js -f foo.js
args:  Namespace { filePath: 'foo.js' }
DONE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...