繁体   English   中英

格式化process.argv的output

[英]Format the output of process.argv

我正在尝试学习 NodeJS,最近我一直在使用 NodeJS 内置函数,特别是process.argv

使用下面的代码,我想打印出Welcome, John Smith

process.argv.forEach((name) => {
    console.log('Welcome, '+`${name}`+'!',);
  });

但是 output 是:

Welcome, /usr/local/bin/node!
Welcome, /Users/johnsmith/Desktop/Webbut/NodeJS/5/index.js!
Welcome, Jon!
johnsmith:5 johnsmith$ 

当我只想打印一行时,是什么导致了这个 output?

argvargument vector是一个数组,其中包含运行程序的部分命令。 并且由于您使用的是forEach ,它正在遍历argv数组并在每个元素前面加上Welcome,

argv[0]/usr/local/bin/node因为那是运行 javascript 的实际程序

argv[1]<path to your file>/index.js因为这是传递给 node.js 作为节点运行的文件的参数

argv[2]Jon ,因为这是您作为参数传递给脚本的内容

process.argv.forEach包含的不仅仅是您刚刚传递的内容,请参阅https://nodejs.org/docs/latest/api/process.html#process_process_argv

process.argv 属性返回一个数组,其中包含在启动 Node.js 进程时传递的命令行 arguments。 第一个元素是 process.execPath。 如果需要访问 argv[0] 的原始值,请参见 process.argv0。 第二个元素是正在执行的 JavaScript 文件的路径。 其余元素将是任何附加的命令行 arguments。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM