使用yarg npm软件包未添加命令

时间:2019-03-24 06:52:20

标签: node.js npm yargs

iam尝试使用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)时,都不会显示

我现在应该做什么?

2 个答案:

答案 0 :(得分: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如何命名参数,但是我猜它是{{1} })

handler

答案 1 :(得分: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)

下方。