如何使用commander生成命令
How to use commander to generate command
我正在与 commander 一起开发一个 cli 工具。我有这个 app.ts 文件。
import { Command } from 'commander';
const program = new Command();
program.version('0.0.1');
const zoneConf = program.command('zone-conf');
const generate = zoneConf.command('generate');
generate.command('tx-commands').action(() => {
console.log('Ran `zone-conf generate tx-commands`');
});
program.parse(process.argv);
我希望当我 运行 tsc && node app.js
时,我能够执行 运行 像 zone-conf generate tx-commands
这样的命令。当我执行 运行 时,输出为 zsh: command not found: zone-conf
.
这是我在 nodejs 中缺少指挥官的步骤吗?
为了让您的终端识别您的命令,您可以使用 npm link
。这将为您的包创建一个全局 link。
您应该首先构建您的应用程序,然后 运行 link 命令。
在您的项目文件夹中 运行:
$ tsc
$ npm link
如果您不想保留它 linked,在您使用完它之后,您可以使用 npm uninstall
将其删除:
$ npm uninstall -g <your-package-name>
如果您不想在全球范围内 link 它,@shadowspawn 的评论应该有效:
tsc && node app.js zone-conf generate tx-commands
我正在与 commander 一起开发一个 cli 工具。我有这个 app.ts 文件。
import { Command } from 'commander';
const program = new Command();
program.version('0.0.1');
const zoneConf = program.command('zone-conf');
const generate = zoneConf.command('generate');
generate.command('tx-commands').action(() => {
console.log('Ran `zone-conf generate tx-commands`');
});
program.parse(process.argv);
我希望当我 运行 tsc && node app.js
时,我能够执行 运行 像 zone-conf generate tx-commands
这样的命令。当我执行 运行 时,输出为 zsh: command not found: zone-conf
.
这是我在 nodejs 中缺少指挥官的步骤吗?
为了让您的终端识别您的命令,您可以使用 npm link
。这将为您的包创建一个全局 link。
您应该首先构建您的应用程序,然后 运行 link 命令。
在您的项目文件夹中 运行:
$ tsc
$ npm link
如果您不想保留它 linked,在您使用完它之后,您可以使用 npm uninstall
将其删除:
$ npm uninstall -g <your-package-name>
如果您不想在全球范围内 link 它,@shadowspawn 的评论应该有效:
tsc && node app.js zone-conf generate tx-commands