为用户提供选项是任何应用的重要功能,而Commander.js可以轻松做到这一点。您最喜欢的JavaScript命令行构建器是什么?JavaScript是一种为Web开发的语言,但它的用途远远超出了Internet。得益于Node.js和Electron等项目,JavaScript既是通用脚本语言又是浏览器组件。有专门设计用于构建命令行界面的JavaScript库。是的,您可以在终端中运行JavaScript。现在,当您在终端中输入命令时,通常会有一些选项,也称为开关或标志,您可以使用它们来修改命令的运行方式。这是POSIX规范定义的有用约定,因此作为程序员了解如何检测和解析这些选项很有帮助。要从JavaScript获得此功能,使用旨在简化命令行界面构建的库很有用。我最喜欢的是Commander.js。它简单、灵活且直观。安装节点要使用Commander.js库,您必须安装Node.js。在Linux上,您可以使用包管理器安装Node。例如,在Fedora、CentOS、Mageia和其他操作系统上:$sudodnfinstallnodejs在Windows和macOS上,您可以从nodejs.org网站下载安装程序。安装Commander.js要安装Commander.js,请使用npm命令:$npminstallcommander在您的JavaScript代码中添加一个库在JavaScript中,您可以在代码中使用require关键字来包含(或导入,如果您使用Python)图书馆。创建一个名为example.js的文件并在您喜欢的文本编辑器中打开它。在顶部添加此行以包含Commander.js库:const{program}=require('commander');JavaScript中的选项解析要解析选项,您必须做的第一件事是定义有效选项。Commander.js库允许您定义短选项和长选项,以及阐明每个选项用途的有用消息。program.description('Asampleapplicationtoparseoptions').option('-a,--alpha','Alpha').option('-b,--beta','SpecifyaVALUE','福');第一个选项,我称之为--alpha(-a的缩写),是一个布尔开关:它存在或不存在。它不需要任何参数。第二个选项,我称之为--beta(-b的缩写),接受一个参数,如果您不提供任何参数,甚至可以指定一个默认值。访问命令行数据定义有效选项时,可以使用长选项名称引用这些值:program.parse();constoptions=program.opts();console.log('Optionsdetected:');如果(options.alpha)console.log('alpha');constbeta=!options.beta?'否':options.beta;console.log('betais:%s',beta);运行应用程序要使用node命令运行它,首先不带选项:$node./example.js检测到的选项:beta是:Foo如果未被用户覆盖,则使用beta的默认值。再次运行它,这次使用选项:$node./example.js--betahello--alphaOptionsdetected:alphabetais:hello这次,测试脚本成功检测到选项--alpha以及--beta选项由用户值提供。选项解析这里是完整的演示代码供您参考:const{program}=require('commander');program.description('Asampleapplicationtoparseoptions').option('-a,--alpha','Alpha').option('-b,--beta','指定一个值','Foo');program.parse();constoptions=program.opts();console.log('Options检测到:');console.log(typeofoptions);if(options.alpha)console.log('*alpha');constbeta=!options.beta?'否':options.beta;console.log('*beta是:%s',beta);项目的Git存储库中有更多示例。包括用户选项是任何应用程序的重要功能,而Commander.js使它变得简单。除了Commander.js之外还有其他库,但我发现这个库使用起来简单快捷。您最喜欢的JavaScript命令行构建器是什么?