要使用 Commander.js 库,您必须安装 Node.js。在 Linux 上,您可以使用包管理器安装 Node。例如,在 Fedora、CentOS、Mageia 等上:
$ sudo dnf install nodejs
要安装 Commander.js,请使用以下npm
命令:
$ npm install commander
在 JavaScript 中,您可以使用require
关键字将库包含(或导入,如果您习惯使用 Python)到您的代码中。创建一个名为的文件example.js
并在您喜欢的文本编辑器中打开它。将此行添加到顶部以包含 Commander.js 库:
const { program } = require('commander');
解析选项必须做的第一件事是定义应用程序可以接受的有效选项。Commander.js 库可让您定义短选项和长选项,并附有帮助说明每个选项的目的的有用信息。
program
.description('A sample application to parse options')
.option('-a, --alpha', 'Alpha')
.option('-b, --beta <VALUE>', 'Specify a VALUE', 'Foo');
第一个选项,我称之为--alpha
(-a
简称),是一个布尔开关:它要么存在,要么不存在。它不需要任何参数。我称之为--beta
(-b
简称)的第二个选项接受一个参数,甚至在您没有提供任何内容时指定一个默认值。
定义有效选项后,您可以使用长选项名称引用这些值:
program.parse();
const options = program.opts();
console.log('Options detected:');
if (options.alpha) console.log('alpha');
const beta = !options.beta ? 'no' : options.beta;
console.log('beta is: %s', beta);
尝试使用node
命令运行它,首先没有选项:
$ node ./example.js
Options detected:
beta is: Foo
beta
在没有用户覆盖的情况下使用的默认值。
再次运行它,这次使用以下选项:
$ node ./example.js --beta hello --alpha
Options detected:
alpha
beta is: hello
这一次,测试脚本成功检测到了 option --alpha
,以及--beta
用户提供的值的option 。
以下是完整的演示代码供您参考:
const { program } = require('commander');
program
.description('A sample application to parse options')
.option('-a, --alpha', 'Alpha')
.option('-b, --beta <VALUE>', 'Specify a VALUE', 'Foo');
program.parse();
const options = program.opts();
console.log('Options detected:');
console.log(typeof options);
if (options.alpha) console.log(' * alpha');
const beta = !options.beta ? 'no' : options.beta;
console.log(' * beta is: %s', beta);
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有