Menu
CoddyTech

Переменные окружения

Часть раздела Основы Node.js путешествия по Node.js на Coddy. Урок 5 из 24.

Некоторые настройки относятся к человеку, запускающему программу, а не к словам, которые он вводит после неё.

Переменные окружения — это именованные строки, которые оболочка передаёт каждой программе. Node помещает их в process.env. Если переменная не задана, её значение — undefined, поэтому ?? задаёт значение по умолчанию.

// CITY=Oslo node weather.js
const city = process.env.CITY ?? 'Lisbon';
console.log(`Weather for ${city}`);

На ноутбуке можно задать переменную для одного запуска, указав её перед командой: CITY=Oslo node weather.js выведет Weather for Oslo, а обычная команда node weather.js выведет Lisbon. Имена чувствительны к регистру. Терминал рядом с вашим кодом не задаёт переменных, поэтому всегда показывает значение по умолчанию.

challenge icon

Задание

Легко
  • list сначала выводит заголовок: Notes for <NOTES_OWNER> или Notes for you, если переменная не задана.
  • No notes yet остается на следующей строке.

Запусти node notes.js list. Проверки также запускают команду NOTES_OWNER=Ada node notes.js list.

Попробуйте сами

// Здесь начинается ваш инструмент для заметок.
const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');

if (command === 'add') {
    console.log(`Adding: ${text}`);
} else if (command === 'list') {
    console.log('No notes yet');
} else {
    if (command) {
        console.error(`Unknown command: ${command}`);
    }
    console.error('Usage: node notes.js <command> [words]');
    process.exit(1);
}

Все уроки раздела Основы Node.js