- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的项目使用 Commander.js,在为命令提供别名时遇到一个奇怪的问题。我引用了这里提到的例子:Commander.JS Example
我正在寻找创建一个类似 git 的命令,所以我从 .command()
开始方法。当我克隆上面的存储库并在本地运行给定的 pm
示例时,帮助选项按预期工作。请注意,在使用部分中只有“pm”,并且命令“install”具有由“|”分隔的别名“i”符号
Usage: pm [options] [command]
Commands:
install|i [name] install one or more packages
other options ...
但是当我运行自己的测试应用程序时,我的命令别名会附加测试应用程序名称本身,并且得到如下输出:
Usage: index|r [options] [command]
Commands:
random random command
请注意,别名“r”是通过索引命令而不是“随机”命令显示的。如果我向 index.js 文件添加更多命令,最后一个别名将附加到 Usage: index|<new alias>
而不是实际附加正确的命令。
我无法理解我做错了什么。有人可以帮忙吗?使用 -h
时如何获得正确的输出或--help
选项?
index.js
#!/usr/bin/env node
'use strict';
var program = require('commander');
program
.version('1.0.0')
.command('random', 'random command')
.alias('r')
.parse(process.argv);
index-random.js
#!/usr/bin/env node
'use strict';
var program = require('commander');
program
.option('-r, --random <random>', 'Random command option')
.parse(process.argv);
Package.json
{
"name": "commander-test",
"version": "1.0.0",
"description": "Testing commander",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Raghuveer",
"license": "UNLICENSED",
"dependencies": {
"commander": "^2.9.0",
"graceful-readlink": "1.0.0"
}
}
重现步骤:
node index -h
如果您需要更多信息,请告诉我。
最佳答案
将子命令的别名添加到相应的子命令文件中。在您的情况下,您必须将其添加到 index-random.js 文件中,如下所示。
#!/usr/bin/env node
'use strict';
var program = require('commander');
program
.option('-r, --random <random>', 'Random command option')
.alias('r')
.parse(process.argv);
然后当你调用时; node index.js 帮助随机
帮助将显示 Usage: index-random|r
但是,我也面临的问题是,如果我仅使用别名调用索引命令,则不会发生任何情况。 (例如:如果我调用 Node 索引r
,则不会返回任何输出)。
如果您成功调用别名而不是完整命令,请告诉我。
更新:以下是两个命令的输出。
>node index.js help
Usage: index [options] [command]
Commands:
random random command
help [cmd] display help for [cmd]
Options:
-h, --help output usage information
-V, --version output the version number
>node index.js help random
Usage: index-random|r [options]
Options:
-h, --help output usage information
-r, --random <random> Random command option
关于javascript - nodejs Commander.js 'alias' 未按 "--help"的预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39844938/
我会在 Cmder 的另一个别名中使用别名。 我有一个很好的别名(第一个)到一个大命令,我会在另一个(第二个)中使用它: mergelocdist=git fetch origin --prune -
我正在尝试让 cgi 在我的本地主机服务器上工作。 首先我添加了虚拟本地主机。 我有 conf 文件/etc/apache2/sites-available/myage.com.conf这是这个文件的
有什么区别: 从'utils'导入utils 和 从“utils”导入 * 作为 utils? 情况 A: //utils.js export function doSomething() { //.
我用 MySQL 试过这个: DELETE FROM `contact_hostcommands_relation` AS `ContactHostCommand` WHERE (`ContactHo
我正在为一个学校项目使用 NodeJS 和 Sequelize,我正在努力与 sequelize 工作建立联系。我之前尝试过一些东西,但没有一个让我开心。 基本上,一个用户可以拥有多个播放列表 (ha
除了 Set-Alias能够更改现存的别名,这些命令之间有什么区别? 为什么会有人用New-Alias在 Set-Alias ? 最佳答案 使用 new-alias 的一个(唯一的?)优势是当您覆盖现
假设 bash 配置了以下别名: alias up="git --git-dir /path/to/backup/.git" 那个特定的存储库 - 并且只有那个存储库 - 具有以下 git 别名: [
我的Sql查询是 Select a.sum_total FROM OneWayNetTransactionRes a LEFT OUTER JOIN OneWayNetTransactionRes b
我可能以错误的方式寻找这个,但有一件事我不明白: select max(dateofbirth) -5 from person; 因此,上面的示例为我提供了任何人的最大日期减去 5 天,正如我所期望的
我有一个 Lambda,它有许多版本,并为每个版本创建了别名。这是一个例子 Apple_Version_1 Apple_Version_1.1 Apple_Version_1.2 Apple_Vers
我使用 win32com 库在本地获取邮件,但现在我使用 Exchangelib 来执行相同的操作,但我找不到与此等效的函数(item.sender.getExchangerUser().Alias)
在我的 .bashrc 文件中,我放入了以下两行: alias foo1="echo $1" alias foo2="echo '$1'" 然后,在终端中,我得到以下输出: $ foo1 hello
只要代码有更新,我就会发布新版本,并为该版本创建别名。但以前的别名在新版本中消失了 这是我的 YAML 模板片段 Description: Publish a new version of a
在我的 Django 项目中,我试图将数据库字段从 OneToOne 更改为foreignKey。当我运行“python manage.py migrate”时,它会因一个长回溯而中断,并以我在标题中
我有一个关于记录的问题:假设我有一个接收记录的函数,如下所示: getId : { file | id : String } -> String getId file = file.id 我可以传递这
我写了这样的语法: grammar StatementFormat { token TOP { ( | '%' )* } token plain { } token plac
这个问题在这里已经有了答案: Creating permanent executable aliases (4 个回答) 8年前关闭。 例如,如果您创建别名: alias cls="clear" 它存
我在我的 iPhone 应用程序中查看一些动画,感觉它有点难看。然后我明白了:它只是不通过子像素状态进行动画处理。 所以,如果我使用通常的+beginAnimations/+commitAnimati
在Elastic / Elasticsearch网站上的Faking Index per User article中,建议对多个(数千个)客户端使用单个索引,并使用过滤器别名以不可见的方式分离其数据。
这可能是一个无聊的问题,但我无法找到我完全理解以下查询的答案。 我搬到了一个新的研究所,我正在访问虚拟机进行研究。我想创建一个方便的 bashrc 让生活更轻松。 因此,使用以下内容编辑 ~/.bas
我是一名优秀的程序员,十分优秀!