1

我正在使用yargs在 NodeJS 中编写 CLI 实用程序。

Yargs 有一个.usage()函数,我使用如下:

yargs.usage("\nUsage: node $0 --input=path/to/input/file --output=path/to/output/file")

当我运行时node cli.js --help,它按预期显示以下内容:

Usage: node cli.js --input=path/to/input/file --output=path/to/output/file

显然 yargs 正在将$0占位符扩展到cli.js,这很棒。这就是我手动包含node.usage()调用中的原因。

但是这样,当我最终将我的实用程序作为 CLI 工具发布时,如果有人使用 安装它npm install -g,恐怕使用显示会

Usage: node my-utility --input=path/to/input/file --output=path/to/output/file

虽然显然我希望它是

Usage: my-utility --input=path/to/input/file --output=path/to/output/file

如何进行此条件检查,以便仅node在真正以这种方式调用时(而不是直接调用)打印使用情况?

4

0 回答 0