我是Node.js的新手,我正在努力学习。我有一个简单的任务来执行以下操作: -read一个文件(提供购买第一个命令行参数)。 - 打印文件中的行数。 - 我正在使用readFileSync方法。
代码正在运行,但输出很奇怪。我尝试打印每个语句,我认为问题在于读取数据。谁能告诉我我错在哪里?
function numLines(){
var fs = require('fs');
var num = 0;
var contents = fs.readFileSync(process.argv[0]);
console.log(contents.toString());
return num;
}
忽略return语句,请关注readFileSync。在打印内容时,打印的文本中充满了奇怪的字符,就像读取错误一样
答案 0 :(得分:7)
var contents = fs.readFileSync(process.argv[0]);
实际上, process.argv[0]
不是传递给脚本的第一个参数。这是命令node
。第二项是您的脚本的文件名,并传递给node
,假设您将其称为node myscript.js somefile.txt
。您需要获取第三个项:process.argv[2]