Ты пишешь скрипты, которые принимают аргументы через process.argv, читают переменные окружения и возвращают код выхода.
Открыть этот урок в KodokonТы уже пользуешься программами командной строки: node, npm, git и так далее. Каждая из них принимает аргументы - слова, набранные после её имени, которые меняют её поведение. Напишем свою. Node предоставляет глобальный объект process, который описывает выполняющуюся сейчас программу - ты уже встречал его через process.version. Его свойство process.argv - это массив, который содержит: по индексу 0 - путь к Node; по индексу 1 - путь к твоему скрипту; а начиная с индекса 2 - аргументы, реально набранные пользователем.
console.log(process.argv);
const args = process.argv.slice(2);
console.log("Your arguments:", args);Второй источник информации - переменные окружения. Это пары имя/значение, которые система передаёт программе при запуске. Их используют для конфигурации: секретный ключ API, режим отладки, адрес базы данных и так далее. Читают их из объекта process.env. Отсутствующая переменная равна undefined: всегда предусматривай значение по умолчанию, например с помощью оператора ??.
const level = process.env.LOG_LEVEL ?? "info";
console.log("Log level:", level);LOG_LEVEL=debug node config.jsКогда программа завершается, она возвращает системе код выхода: число, которое подводит итог тому, как всё прошло. Универсальное соглашение: 0 означает «успех», любое другое значение сигнализирует об ошибке - именно это проверяют другие инструменты и скрипты, чтобы понять, всё ли сработало. process.exit(1) немедленно останавливает скрипт с кодом 1. Для сообщений об ошибках используй также console.error: он пишет в поток ошибок (stderr) - канал, отдельный от обычного вывода. Соберём всё вместе в законченном скрипте.
const name = process.argv[2];
if (!name) {
console.error("Usage: node greet.js <name>");
process.exit(1);
}
console.log(`Hello, ${name}!`);