如何将参数传递给node.js javascript文件?

时间:2014-03-06 12:13:06

标签: javascript node.js

我对节点全新,我一直在从网站上阅读过程api。但是,我认为我没有上下文,所以任何有助于更好理解的帮助。

我想将一个参数传递给我的节点脚本,所以从命令行看它就像node connecttoerver.js -ip 192.10.10.1。我有下面的代码那种作品,但即使阅读文档,我也不知道这里发生了什么。

process.argv.forEach(function(val, index, array) {
console.log(index + ': ' + val);
});

1 个答案:

答案 0 :(得分:1)

您的示例来自node docs,因此process.argv(argv代表参数向量)是

  

包含命令行参数的数组。第一个元素是'node',第二个元素是JavaScript文件的名称。下一个元素将是任何其他命令行参数。

所以connecttoerver.js -ip 192.10.10.1的输出将是:

0: node
1: path/to/connecttoerver.js
2: --=ip
3: 192.10.10.1

process.argv只是传递给脚本的命令行参数数组。但第一个是node,第二个是文件路径,其他是传递给脚本的参数,由空格分隔。

你真正想要的是一个可以解析参数并以方便的方式传递给你的库。例如,使用optimist,您将获得:

 var argv = require('optimist').argv;

 if (argv.rif - 5 * argv.xup > 7.138) {
    console.log('Test one');
 } else {
    console.log('Test two');
 }

称之为

node xup.js --rif=55 --xup=9.52
   Test one

node xup.js --rif 12 --xup 8.1
   Test two

这些库包括参数解析,默认值,需要一些var等等。