- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 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 而不是破解它。
这是一个有效的问题吗?感谢您的帮助。
比图尤
最佳答案
当您希望能够显示用法时,您希望保留一个指向从 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 变量“未定义”。
关于javascript - 尝试使用 Optimist API help() 打印 usage(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15889826/
我觉得问这个问题有点愚蠢,但为了把事情弄清楚,有时必须问一些愚蠢的问题:) 因此,我们可以像 Martin Kleppmann 在他的演讲中所做的那样定义写入偏差: Write skew patter
当使用乐观锁定策略时,可以解决如下并发问题: | the first transaction started ||
我正在尝试安装 angular phone cat 应用程序并使用 karma 测试运行器运行测试用例。我安装了 Node v0.10.33。我已经在全局范围内安装了 karma 。现在,我尝试使用“
首先,我知道有很多关于该主题的已发布问题:1 2 3 4 5 .建议的方法和原因: Marshal.SizeOf() 1 - 不适用于托管类型。 GC.GetTotalMemory 1 2 - 容易出
在我的 React 应用程序中,我使用数据库 ID 作为键来渲染从服务器返回的项目数组。 items.map(item => ) 这工作正常,但现在我想做乐观更新,所以我在将新项目提交到服务器之前将其
所以我正在阅读 Optimistic UI这是我想在我的 android java 应用程序中实现的东西。 我的 Android 应用程序与我的其余 api 连接。我的困惑是我该怎么做? 我有一个产品
在思考 BitTorrent 的工作原理时,我想到了几个问题。如果有人可以分享一些可能的回应,将不胜感激。 假设一个 BitTorrent 从跟踪器获得 50 个对等点,然后与其中的 20 个建立连接
我正在调试使用 JPA/Hibernate 和 Postgres (9.6.2) 的 Java 应用程序的奇怪行为。 应用程序有 3 个实体:User、Country、UserEvent。 Hiber
我正在尝试使用 yargs 为 Node 模块编写 CLI但是我很难设置两个可以使用的不同命令,一个只需要一个参数,而另一个需要两个。这是我目前所拥有的 var argv = require('yar
我正在阅读 intro to redux pattern , 那里有以下段落: ... consider the new requirements becoming common in front-e
我正在使用具有 Render Prop API 并尝试在 UI 中执行乐观响应的组件。 到目前为止,我在 _onSubmit 中有这个 block 功能- createApp({ variab
尝试修复 Carto tool from Mapbox 的离线安装在 Ubuntu 14.04 上。目前, Node 给我一个错误,它找不到 optimist 模块。我可以手动找到一个 optimis
正在关注 the Apollo docs on Mutation components ,我有一个有效的 Mutation 组件,看起来像 Apollo 文档中提供的这个示例: { cons
我正在寻找一种让乐观的用户界面从列表中删除项目的方法。 列表的查询是: myQuery{ Foo:{ Bar:{ id } } 删除突变: mutation deleteBar(inp
我正在尝试测试我的应用程序的乐观锁定实现。然而结果并不是我所期望的。我测试的步骤如下 从数据库加载实体 将版本属性设置为比数据库中存在的版本属性小 1 将另一个只是字符串的属性更改为其他内容 保存实体
我是 optimist 的新手我做了一些谷歌搜索和尝试,但我仍然找不到添加 --help 选项的优雅方法。 我看到一个 help()文档上的选项。有了这个,我希望以下工作: var argv = re
使用 React.js 真的很愉快。 我根据官方教程搭建了一个简单的评论应用。 您可以添加、编辑和删除评论。它们每 10 秒通过 GET 拉取一次。 本教程有一次提到乐观更新:在创建、更新或删除操作的
我们使用 SendGrid API 将敏感电子邮件发送到 Office365 托管的电子邮件地址。默认情况下,这两种服务都使用机会性 TLS,这反过来会让您相信电子邮件始终会使用 TLS 进行加密。
有一个实体 Foo 带有 @Version 列。如果我想删除它,我希望 Spring Data JPA 和/或 Hibernate 检查 @Version 列的当前值是否与数据库中的值匹配。如果不是,
static boolean unsynchronizedSetter(Date expected){ Date newDate = new Date(); AtomicReferen
我是一名优秀的程序员,十分优秀!