Я изучаю, как использовать node.js, но у меня проблемы с анализом аргументов командной строки. Следующая строка:Аргументы командной строки парсингового узла
node test.js --input=in.txt
дает ошибку синтаксического анализа, когда код достигает эту команду:
var fileName = JSONparse.(process.argv[2]);
приведет к ошибке:
undefined
--input=in.txt
Syntax error: Unexpected number
То, что я пытаюсь сделать, это создать необязательная переменная для входного файла. Если он не указан в командной строке, он должен перейти к «a.txt».
Я не нашел простой способ создания параметров по умолчанию или использовать идентификаторы, такие как '--input =', чтобы не беспокоиться о порядке, в котором передаются аргументы (я знаю, что это не имеет значения в этом случае с одним аргументом).
Кстати, 'Синтаксическая ошибка' объясняется тем, что синтаксис JS плохой. Существует не 'JSONparse', и даже если бы это было,' JSONparse. ('Не имеет смысла;' .' является доступ к члену, поэтому вам нужен идентификатор после '.';' ('не работает Возможно, вы имели в виду 'JSON.parse (process.argv [2])', но это не имеет смысла, поскольку строка не является JSON. – Jacob
Вы правы @Jacob, я имел в виду JSON.parse. : https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse –