node.js - 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
- 亚格斯版本:1.1.0
- 节点版本:v14.16.0
- vs 代码版本
- 1.55.2(用户设置)操作系统:Window 10
解决方案
尝试以下几行。
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')
推荐阅读
- javascript - 在 json 对象中循环一个数组值并将其转换为单个字符串
- node.js - 将颜色十六进制转换为字符串
- python - 不和谐机器人可以回复调用机器人的消息也回复的消息吗?
- c++ - 将本地字符数组与原始字符串文字存储为类成员
- c++ - 为什么初始化不调用赋值运算符
- flutter - “主题:ThemeData ...”显然从 Flutter 2.5.0 开始被忽略
- django - 如何在多对多关系(通过)中找到 django 对象?
- c# - 错误 HRESULT:[0xC00D36B4] 在 sharpDx c# 中从扩展屏幕录制屏幕时
- python - 在 NetworkX 中打印节点名称
- html - 侧边栏没有移动到“主”的左侧,并且 CSS 网格在“横向平板电脑”上没有按预期工作