我对节点全新,我一直在从网站上阅读过程api。但是,我认为我没有上下文,所以任何有助于更好理解的帮助。
我想将一个参数传递给我的节点脚本,所以从命令行看它就像node connecttoerver.js -ip 192.10.10.1。我有下面的代码那种作品,但即使阅读文档,我也不知道这里发生了什么。
process.argv.forEach(function(val, index, array) {
console.log(index + ': ' + val);
});
答案 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等等。