[yargs]中的命令和选项有什么区别

the*_*enm 5 node.js npm yargs

我正在使用yargs获取CLI参数。我想知道命令和选项之间的区别。

const argv = yargs
.command(
  'add',
  'Add a new note',
  {
    title: titleOptions,
    body: bodyOptions
  })
.argv;
Run Code Online (Sandbox Code Playgroud)

const argv = yargs
.option('address', {
  alias: 'a',
  demand: true,
  describe: 'Address for fetching weather'
})
.help()
.alias('help', 'h')
.argv
Run Code Online (Sandbox Code Playgroud)

Adr*_*n T 6

一种区别是语义:命令执行动作,选项更改执行动作的方式。另一个重要的区别是可以为选项分配值。例如:

git commit --message "Initial commit"
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,commit是命令,并且message是选项。该message选项的值为“初始提交”。您还可以具有不带值的选项,这些选项称为“标志”。

git fetch --no-tags
Run Code Online (Sandbox Code Playgroud)

在这里,我们使用no-tags标志告诉Git从上游分支获取所有内容,但排除标签。