Javascript 正在尝试使用Optimit API help()打印用法()

Javascript 正在尝试使用Optimit API help()打印用法(),javascript,node.js,parsing,Javascript,Node.js,Parsing,我是新来的,我做了一些谷歌搜索和尝试,但我仍然找不到一种优雅的方式来添加--help选项 我在文档中看到了一个选项。有了这一点,我希望以下方面能够发挥作用: var argv = require('optimist') .usage('Some usage') .alias('l', 'local') .describe('l', 'uses local repo') .help() .argv 因此,在shell中,如果我键入/myScript--help,它将显示用法。

我是新来的,我做了一些谷歌搜索和尝试,但我仍然找不到一种优雅的方式来添加
--help
选项

我在文档中看到了一个选项。有了这一点,我希望以下方面能够发挥作用:

var argv = require('optimist')
  .usage('Some usage')
  .alias('l', 'local')
  .describe('l', 'uses local repo')
  .help()
  .argv
因此,在shell中,如果我键入
/myScript--help
,它将显示用法。我知道我可以检查
argv
中的
-h
-help
选项,并执行
控制台(argv.usage)
来打印使用情况,但我尝试使用API而不是破解它

这是一个正确的问题吗?谢谢你的帮助


bitoiu

当您希望能够显示用法时,您希望保留一个指向从require()返回的对象的指针。这是因为从.argv返回的对象只是一个普通对象,因此无法访问help()或showHelp()函数。下面是一个人为的例子,我认为它会为你指明正确的方向,让你尝试去做

var optimist = require('optimist')
    .usage('$0: This is an example on how to use optimist')
    .describe('h', 'Display the usage')
    .describe('l', 'uses local repo')
    .alias('h', 'help')
    .alias('l', 'local');

var argv = optimist.argv;

if (argv.help) {
    optimist.showHelp();
    process.exit(0);
}

if (argv.local) {
    // Do stuff based on local repo
    console.info('Got the -l/--local flag!');
}
然后,当您运行代码并传入-h或--help时,您将得到以下输出:

node ./ex-optimist.js: This is an example on how to use optimist

Options:
  -h, --help   Display the usage
  -l, --local  uses local repo

还请注意,使用.help函数将以字符串形式返回用法,在它之后尝试使用.argv将使argv变量“未定义”。

运行时会发生什么情况。/myScript--help?您看到生成的用法字符串了吗?也可以考虑在乐观问题页面上发布这个问题。嗨,诺亚,我试过了,没有生成的用户字符串。我帮了忙,整个人。我不妨检查一下源代码。无论如何,谢谢你的回答:)