我正在学习命令行参数。我想做的是,如果您键入
,则在CLI上打印出显示“ Hello,World”的脚本。node helloworld (name)
它将打印出Hello, (name)
。而且,如果没有输入名称,则默认情况下将输出Hello, World
。
我基本上是这样做的,但是我想知道,有什么方法可以输入
node helloworld (yourname)
避免打字的麻烦
node helloworld name (yourname)
function getArgument(argument){
var index = process.argv.indexOf(argument);
return (index === -1) ? null : process.argv[index+1];
}
var name = getArgument('name');
var message = name ? "Hello, " + name : "Hello, world.";
console.log(JSON.stringify(message));
底部的图像链接向您展示我在说什么。只想输入helloworld(实际名称)而不是helloworld名称(实际名称):
答案 0 :(得分:1)
当然,请始终接受第一个参数:
let name = process.argv[2];
在您的情况下,argv
如下所示:
["node", "helloworld", "(name)"]
因此,您只需访问第三个名称即可。