команда не добавляет, используя пакет yarg npm - PullRequest
1 голос
/ 24 марта 2019

Я пытаюсь добавить команду, используя 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 (т. Е. Узел app.js add), ничего не отображается.

Что мне теперь делать?

Ответы [ 2 ]

0 голосов
/ 23 июля 2019
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)

внизу.

0 голосов
/ 24 марта 2019

Согласно 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')
    }
...