NodeJS 编写工具包的版本号和帮助文档 [报错:error: unknown option ‘--version]

一般全局的工具包有两个参数必须要处理:–version和–help,分别会输出包的版本号,和帮助文档。

编写步骤:

  • 1、获取传递参数:NodeJS 通过process.argv获取参数
  • 2、根据不同的参数,返回不同内容
    返回不同内容,除了使用if语句判断自定义指令传递的参数外。
    还可以使用commander工具,快速编写工具包的版本号和帮助文档。

1.安装commander包:npm i commander
2.导入commander:const program = require(‘commander’)
3.处理帮助文档:program.parse(process.argv)
4.处理版本号和帮助文档:program.version(‘1.0.0’).parse(process.argv)

完整代码:

#! /usr/bin/env node
const program = require('commander')

/* 
处理指令传递参数方法一:(使用if方法判断)
if(process.argv[2] === '--help'){ // 判断传递的参数是否为--help
    // 输出帮助文档
}else if (process.argv[2] === '--version'){
    // 输出当前版本号
}
*/
// 处理指令传递参数方法二:借助第三方工具包commander——>能够快速的处理自定义指令传递进来的参数
// 只需要将传递进来的参数直接传递给parse方法,那么commander包就自动帮我们实现了--help
 program.parse(process.argv)
// 只需要在调用parse方法之前先调用version方法,告诉它当前的版本号。那么commander包就自动帮我们实现了--versiom。
program.version('1.0.0').parse(process.argv) // 同时实现--version和--help

问题:在控制台中输入 test --version时,以上代码会报错:error: unknown option '–version’
解决办法:将【// program.parse(process.argv)】这句注释即可

#! /usr/bin/env node
const program = require('commander')
// program.parse(process.argv)
program.version('1.0.0').parse(process.argv) // 同时实现--version和--help
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页