我yargs
用来创建一个带有“build”、“link”、“clean”等子命令的构建工具。
我希望能够./build.js
不带参数输入并默认调用“build”子命令处理程序。
我能够做到这一点:
var argv = yargs
.usage("I am usage.")
.command('bundle', 'Create JS bundles', bundle)
.command('link', 'Symlink JS files that do not need bundling', link)
.command('clean', 'Remove build artifacts', clean)
.command('build', 'Perform entire build process.', build)
.help('help')
.argv;
if (argv._.length === 0) { build(); }
但这对我来说似乎有点 hacky,如果我想在“build”子命令中添加任何额外的位置参数,它可能会导致问题。
有没有办法在 yargs 的语义中实现这一点?上的文档.command()
可能更清楚。