我是optimist的新手,我已经做了一些谷歌搜索和尝试,但我仍然找不到一种优雅的方式来添加--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
选项并执行console(argv.usage)
打印用法,但我尝试使用API而不是黑客攻击
这是一个有效的问题吗?谢谢你的帮助。
bitoiu
答案 0 :(得分:11)
如果希望能够显示用法,则需要保留指向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变量“未定义”。