Змінні оточення
Коли ми починаємо розробляти веб-додаток, рано чи пізно стикаємося з ситуацією використання сторонніх джерел даних, сервісів, облікових даних API і т.д.. Доступ до цих ресурсів майже завжди відбувається за допомогою секретних ключів. Це стає великою проблемою, коли код програми передається в загальнодоступний репозиторій як GitHub. Код доступний усім, хто його бачить, а отже і наші секретні ключі теж.
Як вирішують цю проблему? Правильне рішення – використовувати змінні середовища. Це
локальні змінні, які доступні нашому додатку. Створення цих
змінних виконується за допомогою модуля dotenv. Цей модуль завантажує змінні
середовища з файлу .env
, який ви створюєте наприклад у кореневому каталозі нашої
програми. Після ми підключаємо модуль у нашому додатку і він додає
змінні оточення в об'єкт process.env, і вже звідти, не показуючи значення
цих змінних, ми можемо використовувати їх у додатку. Само собою файл .env
ми повинні додати до файлу .gitignore
Спочатку встановимо пакет.
npm install dotenv
Потім додамо у файлі app.js
наступний рядок.
require('dotenv').config();
Потім створюємо .env
файл у кореневому каталозі нашої програми та додаємо в
нього змінні.
SECRET_KEY=123456
NODE_ENV=development
Тепер у файлі програми app.js
будуть доступні будь-які змінні, які ми
додали до файлу .env
. Ці змінні доступні тепер у програмі наступним
чином
process.env.SECRET_KEY;
process.env.NODE_ENV;
Надалі ми завжди використовуватимемо змінні оточення для доступу до
секретних даних, таких як секретні слова для cookie
або jwt
, url
підключення до бази даних та інше.