Node.js optimist

处理命令行参数

使用 npm install optimist安装optimist。

optimist将包含已解析的命令行参数的对象导出为 argv 属性。

使用require('optimist').argv而不是process.argv

例子

以下代码创建一个简单地注销处理的参数的JavaScript文件。

  1. var argv = require("optimist").argv;
  2. console.log(argv);

注意1

Optimist保留了process.argv数组的前两个成员,它们是node可执行文件和你的JavaScript文件的路径“$0”。

下面的代码删除了$0。

  1. var argv = require("optimist").argv;
  2. delete argv["$0"];
  3. console.log(argv);

如果你运行app,你会得到以下输出:

  1. $ node app.js
  2. { _: [] }

属性argv._是所有命令行参数的数组,不在标记中传递。

标记是以减号“ - ”开头的参数,例如“-f”。

让我们运行app.js并传入一堆参数。

  1. $ node app.js foo bar bas
  2. { _: [ "foo", "bar", "bas" ] }
  3. $ node app.js -r -f -s
  4. { _: [], r: true, f: true, s: true }
  5. $ node app.js -rfs
  6. { _: [], r: true, f: true, s: true }

注意2

如果你想接受超时标记(-t 100),Optimist支持取值标记。

Optimist支持它们就像支持简单的标记一样。

在argv.tin上设置与标志名称匹配的属性,并将该值设置为用户传递的值(在本例中为100)。

下面的代码显示了当使用带标记的值时的输出

  1. $ node app.js -t 100
  2. { _: [], t: 100 }
  3.  
  4. $ node app.js -t "la la la la"
  5. { _: [], t: "la la la la" }