[英]How to get process.argv inputs and write them to a file using fs.writeFileSync
我正在学习 node.js,我想从用户那里获取输入并将它们写入一个名为 points.txt 的文件中
const process = require("process")
const fs = require("fs")
const [, , num1,num2,num3,num4] = process.argv
fs.writeFileSync('points.txt', process.argv[2,3,4,5])
node app.js 1 2 3 4
但是,使用此代码,我只能看到 4 If I were to then go into the points.txt。 我应该看到 1 2 3 4
表达式process.argv[2,3,4,5]
返回到process.argv[5]
(那些逗号运算符只计算每个 int 并且整个表达式的值最终作为最后一个 int 的值)。
由于代码已将要写入的参数分配为num
变量,因此请编写那些...
const process = require("process")
const fs = require("fs")
const [, , num1,num2,num3,num4] = process.argv
console.log(num1, num2, num3, num4)
fs.writeFileSync('points.txt', [num1,num2,num3,num4])
您不能使用,
运算符以这种方式获取多个值。 逗号运算符返回它的最后一个操作数,因此您的代码等于process.argv[5]
在这种情况下应该返回4
。 您可以改用slice
方法:
process.argv.slice(2);
slice()
方法将数组的一部分的浅表副本返回到从开始到结束(不包括结束)选择的新数组对象中,其中开始和结束表示该数组中项目的索引。 原始数组不会被修改。
要将slice
调用的返回数组转换为字符串,可以使用join
方法: process.argv.slice(2).join(' ')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.