1

我正在尝试使用 yarg 添加命令,但是当我运行我的代码时,我的命令没有添加。

这是我正在尝试的:

const yargs = require('yargs')

//create add command
yargs.command({
    command: 'add',
    describe: 'to add note',
    handler: function() {
        console.log('note has been added')
    } 
})

运行命令:

PS C:\Users\HP\Desktop\node\notes-app> node app.js --help
Options:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]

没有添加命令。

此外,当我尝试通过将 add 作为参数(即 node app.js add)来运行我的代码时,什么也没有显示。

我现在该怎么办?

4

2 回答 2

0

根据yargs文档,该方法command需要 4 个参数而不是对象;

.command(cmd, desc, [builder], [handler])

所以你的代码应该是这样的(注意,没有更多的括号和对象键):

//create add command
yargs.command(
    'add',
    'to add note',
    function() {
        console.log('note has been added')
    } 
})

如果您没有传递可选builder参数,则可能应该使用命名参数来处理处理程序函数(不确定如何yargs命名参数,但我猜是这样handler

   ...
   handler = function() {
        console.log('note has been added')
    }
于 2019-03-24T10:41:53.760 回答
0
yargs.command({
    command: 'add',
    describe: 'to add note',
    handler: function() {
        console.log('note has been added')
    } 
}).parse()

如果你不添加 parse(),yargs 将不会执行。如果你有太多 yargs 命令类型

yargs.parse()

或者

console.log(yargs.argv)

在下面。

于 2019-07-22T21:19:56.597 回答