Сейчас я изучаю NodeJS из nodechool.io, а третье упражнение касается файла ввода-вывода.
Он просит меня написать программу, использующую одну синхронную операцию с файловой системой, для чтения файла и вывода количества строк в консоль (stdout). Полный путь к файлу для чтения будет указан в качестве первого аргумента командной строки (т.е. process.argv [2]).
Ответ на это упражнение похож на мой, поэтому я действительно знаю, где я ошибся. Это мое решение:
var fs = require('fs');
var contents = fs.readFileSync(process.argv[2]);
var strs = contents.toString();
var lines = strs.split('/n').length - 1;
console.log(lines);
но я получил ошибку:
TypeError: path must be a string or Buffer
at Object.fs.openSync (fs.js:660:18)
at Object.fs.readFileSync (fs.js:565:33)
at Object.<anonymous> (D:\projects\dmt-node-study\first-io.js:3:19)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:695:10)
at startup (internal/bootstrap/node.js:201:19)