yargs处理异常参数的坑
yargs(官方地址) 是一个比较好用的 node 命令行参数处理工具。他可以让我们摆脱处理参数的麻烦。最近做一个项目的工作流改进用到了这个库,遇到了一个坑,在这里记录一下。
接受用户输入的参数时候需要对必要的参数进行检查,如果没有输入则需要结束流程,并提示用户传入所需参数。按照 yargs 的文档来看应该这样做
1 | var argv = require('yargs') |
但是这样做并不起作用,当我们不传参数直接执行命令的时候,依然直接跑了下去。这并不符合我们的预期,在多方查找之后,终于在 yargs 的 issue 里面发现了这个解决方案。
简单来讲,这个解决方案就是叫我们在配置的时候加一个选项
1 | .global('p') |
这个选项的意思是,在命令执行后继续保留这个参数(蛤?),这样就可以解决这个问题了。