将JSON传递给Node的命令行参数

我想传递一个JSON对象作为节点的命令行参数。 像这样的东西:

node myfile.js --data { "name": "Dave" }

什么是最好的方式来做到这一点,还有另一个更明智的方式来完成相同的事情?

如果它有less量的数据,我会使用https://www.npmjs.com/package/minimist ,它是nodejs的命令行参数parsing器。 这不是JSON,但你可以简单地通过选项

 --name=Foo 

要么

 -n Foo 

我认为这比json更适合命令行工具。

如果你想使用大量的数据,你最好创build一个json文件,只传递文件名作为命令行参数,这样你的程序就可以加载和parsing它。

作为命令行参数的大对象很可能不是一个好主意。

这对我有用:

 $ suman --extract-json-array='["zoom"]' 

然后在我的代码中我有:

  import * as _ from 'lodash'; const parsed = JSON.parse(sumanOpts.extract_json_array || []); _.flattenDeep([parsed]).forEach(function(item){ console.log(item); }); 

我使用了dashdash ,在命令行parsing中我认为这是更好的select。