2016-06-25 2 views
0

Я пытаюсь подсчитать количество строк в текстовом файле с помощью Node.js и установить это число в переменную. Я нашел решение here, но я получаю эту ошибку при попытке использовать код.NodeJS Подсчитайте количество строк в текстовом файле

fs.js:540 
    binding.open(pathModule._makeLong(path), 
     ^

TypeError: path must be a string 
    at TypeError (native) 
    at Object.fs.open (fs.js:540:11) 
    at ReadStream.open (fs.js:1673:6) 
    at new ReadStream (fs.js:1660:10) 
    at Object.fs.createReadStream (fs.js:1608:10) 
    at Object.<anonymous> (C:\Users\Aidan\Desktop\Javascript\test.js:3:15) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 

Насколько я понимаю, это говорит о наличии ошибки в самом модуле fs. Возможно, это не так. Может быть, enviornment, в котором я запущен Node.JS, не позволяет этому правилу правильно выполнять? Между прочим, я использую Windows 10 64bit. Исправлена ​​версия этого кода или совершенно новое решение. Спасибо огромное!

ответ

0

Ваш файл представляет собой массив, поэтому вам нужно обратиться к нему через myFile [0]. Кроме того, проверьте, что вы используете самую последнюю версию узла (6.x)

+0

зачем нужно запускать узел 6.x? –

+0

Некоторые функции изменены в узле 6, поэтому, возможно, они изменили его из v4 => v6 :) Вот [changelog] (https://nodejs.org/en/blog/release/v6.0.0/) –

+0

I ' m теперь использую самую последнюю версию узла, но я все еще получаю ошибку. На этот раз вместо того, чтобы говорить, что путь должен быть строкой, он говорит, что путь должен быть строкой или буфером. Кроме того, где я могу обратиться к моему файлу? Я порядочный с узлом, но я тоже довольно новый. – Toxxic