Files

4.2 KiB
Raw Permalink Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7fb1367417b2b2512bf2 Використання .env-файлу 2 301521 use-the--env-file

--description--

Файл .env - це прихований файл, який використовується для передачі змінних оточень у вашому додатку. Цей файл є таємним, ніхто, крім вас, не може отримати до нього доступ, та він може використовуватися для зберігання даних, які ви хочете залишити конфіденційними або прихованими. Наприклад, ви можете зберігати API-ключі з зовнішніх сервісів або URI вашої бази даних. Ви також можете використовувати його для зберігання параметрів конфігурації. Налаштовуючи параметри конфігурації, ви можете змінити поведінку вашої програми без необхідності переписувати код.

Змінні оточення доступні з додатку як process.env.VAR_NAME. Об'єкт process.env є глобальним об'єктом Node, а змінні передаються у вигляді рядків. Згідно з правилами, ідентифікатори змінних пишуться у верхньому регістрі, а слова поділяються знаком підкресленням. .env - це файл оболонки, тому вам не потрібно укладати імена або значення в лапки. Також важливо відзначити, що не має бути пробілу навколо знаку рівності, коли ви привласнюєте значення змінним, наприклад, VAR_NAME=value. Зазвичай ви ставите визначення кожної змінної в окремий рядок.

--instructions--

Додаймо змінну оточення в якості параметра конфігурації.

Створіть файл .env в основі каталогу вашого проєкту та збережіть в ньому змінну MESSAGE_STYLE=uppercase.

Потім, в обробнику маршруту /json GET, який ви створили в останній задачі, перетворіть повідомлення об'єкта-відповіді у верхній регістр, якщо process.env.MESSAGE_STYLE дорівнює uppercase. Об'єкт відповіді має бути {"message": "Hello json"} або {"message": "HELLO JSON"}, в залежності від значення MESSAGE_STYLE.

Примітка: Якщо ви використовуєте Replit, ви не можете створити файл .env. Замість цього використовуйте вбудовану вкладку SECRETS для додавання змінної.

При локальній роботі вам знадобиться пакет dotenv. Він завантажує змінні середовища з вашого .env файлу в process.env. Встановіть його з npm install dotenv. Тоді, зверху вашого myApp.js файлу, оберіть імпортувати та завантажити змінні з require('dotenv').config().

--hints--

Відповідь кінцевої точки /json має змінюватися відповідно до змінної оточення MESSAGE_STYLE

(getUserInput) =>
  $.get(getUserInput('url') + '/_api/use-env-vars').then(
    (data) => {
      assert.isTrue(
        data.passed,
        'The response of "/json" does not change according to MESSAGE_STYLE'
      );
    },
    (xhr) => {
      throw new Error(xhr.responseText);
    }
  );

--solutions--

/**
  Backend challenges don't need solutions, 
  because they would need to be tested against a full working project. 
  Please check our contributing guidelines to learn more.
*/