五、yargs 模块

最后更新于:2022-04-01 01:59:51

shelljs 只解决了如何调用 shell 命令,而 yargs 模块能够解决如何处理命令行参数。它也需要安装。 ~~~ $ npm install --save yargs ~~~ yargs 模块提供 argv 对象,用来读取命令行参数。请看改写后的 hello 。 ~~~ #!/usr/bin/env node var argv = require('yargs').argv; console.log('hello ', argv.name); ~~~ 使用时,下面两种用法都可以。 ~~~ $ hello --name=tom hello tom $ hello --name tom hello tom ~~~ 如果将 argv.name 改成 argv.n,就可以使用一个字母的短参数形式了。 ~~~ $ hello -n tom hello tom ~~~ 可以使用 alias 方法,指定 name 是 n 的别名。 ~~~ #!/usr/bin/env node var argv = require('yargs') .alias('n', 'name') .argv; console.log('hello ', argv.n); ~~~ 这样一来,短参数和长参数就都可以使用了。 ~~~ $ hello -n tom hello tom $ hello --name tom hello tom ~~~ argv 对象有一个下划线(_)属性,可以获取非连词线开头的参数。 ~~~ #!/usr/bin/env node var argv = require('yargs').argv; console.log('hello ', argv.n); console.log(argv._); ~~~ 用法如下。 ~~~ $ hello A -n tom B C hello tom [ 'A', 'B', 'C' ] ~~~
';