首页 > 解决方案 > yargs.command 不起作用(错误消息:yargs.command 不是函数)

问题描述

我正在尝试创建 yargs 命令,当我运行应用程序时出现错误。

当我运行以下命令时:

node app.js add

在我的 node.js 代码上:

const yargs = require('yargs')
yargs.command({
    command:'add',
    describe:'Adding command',
    handler:function(){
        console.log('Adding notes')
    }
}).parse()

console.log('yargs.argv')

错误:

C:\node\notes-app\app.js:3
yargs.command({
      ^
**TypeError: yargs.command is not a function**
    at Object.<anonymous> (C:\node\notes-app\app.js:3:7)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47


编辑:(我已经查看过这个问题,但它没有帮助,因为已经添加了 .parse()

标签: node.jsyargs

解决方案


尝试以下几行。

const yargs = require('yargs')
const {hideBin} = require('yargs/helpers')
yargs(hideBin(process.argv)).command({
    command:'add',
    describe:'Adding command',
    handler:function(){
        console.log('Adding notes')
    }
}).parse()
console.log('yargs.argv')

推荐阅读