Node.js optimist
处理命令行参数
使用 npm install optimist
安装optimist。
optimist将包含已解析的命令行参数的对象导出为 argv
属性。
使用require('optimist').argv
而不是process.argv
。
例子
以下代码创建一个简单地注销处理的参数的JavaScript文件。
var argv = require("optimist").argv;
console.log(argv);
注意1
Optimist保留了process.argv数组的前两个成员,它们是node可执行文件和你的JavaScript文件的路径“$0”。
下面的代码删除了$0。
var argv = require("optimist").argv;
delete argv["$0"];
console.log(argv);
如果你运行app,你会得到以下输出:
- $ node app.js
- { _: [] }
属性argv._是所有命令行参数的数组,不在标记中传递。
标记是以减号“ - ”开头的参数,例如“-f”。
让我们运行app.js并传入一堆参数。
$ node app.js foo bar bas
{ _: [ "foo", "bar", "bas" ] }
$ node app.js -r -f -s
{ _: [], r: true, f: true, s: true }
$ node app.js -rfs
{ _: [], r: true, f: true, s: true }
注意2
如果你想接受超时标记(-t 100),Optimist支持取值标记。
Optimist支持它们就像支持简单的标记一样。
在argv.tin上设置与标志名称匹配的属性,并将该值设置为用户传递的值(在本例中为100)。
下面的代码显示了当使用带标记的值时的输出
- $ node app.js -t 100
- { _: [], t: 100 }
- $ node app.js -t "la la la la"
- { _: [], t: "la la la la" }