我有一个nodejs脚本,我传递了一些参数。 问题是nodejs似乎没有选择这个参数。 Ť 我以前做了很多次,但从未遇到过问题。 以下是代码:
var StartConnect = require('./sourceConnect');
console.log("process.argv : " + JSON.stringify(process.argv))
var args = process.argv.splice(2);
console.log("args : " + JSON.stringify(args))
if(args.length < 1) {
console.log("usage: node " + process.argv[1] + " <configuration>
");
process.exit(0);
}
var startCon = new StartConnect(args);
startCon.masterProc();
当我将其作为:
运行时bash-3.2$ node start.js config.json
process.argv : ["/usr/local/Cellar/node/9.11.1/bin/node"]
args : []
usage: node undefined <configuration>
为节点运行时节点,为什么arguments数组为空?这太奇怪了,令人沮丧!
答案 0 :(得分:3)
您的问题是:Array.prototype.splice
没有按照您的想法行事。当你调用它时,它期望它的参数为array.splice(index, count, ...newItems)
,并且它在高级别上执行此操作: