dotenv Пакет включает загрузку .env Файл в проекте node.js, который служит центральным местом для управления переменными среды. Этот единый подход облегчает обновление и поддержание переменных среды простыми.
Если вы новичок в переменных окружающей среды, сначала прочитайте эту статью Переменные среды в node.js
Настройка и чтение файла .env
Наиболее распространенным решением в мире Node.js является пакет Dotenv для управления переменными среды. Вы можете создать файл .env в корневом каталоге приложения, который содержит пары ключей/значения, определяющие необходимые переменные среды для вашего проекта. Этот файл .env затем читается библиотекой Dotenv и добавляется к Process.env Анкет Пожалуйста, Не совершайте свой файл .env Анкет
Давайте обновим .gitignore , создать .env файл и прочитайте его в 7 шагах:
- Обновите свой
.gitignoreфайл.
# Ignore .env files .env
- Совершить обновленное
.gitignoreфайл.
git add .gitignore git commit -m "Adding .env to .gitignore"
- Установить
dotenvупаковка
npm i dotenv
- Создайте новый файл .env в каталоге Project Root.
touch .env
- Добавить переменные среды в файл .env
# API connection API_HOST=HOST-PLACEHOLDER-URL API_KEY=TOP-SECRET
- Читать и использовать переменные среды в .env
Требуется dotenv и позвонить config () Метод, как можно раньше, это обычно делается в точке входа, как index.js файл.
require('dotenv').config();
console.log(process.env.API_HOST);
- Запустите код
node index.js
Сообщение журнала Хост-настилатель-урл , которая является переменной среды, установленной для Api_host как определено в .env файл.
Необязательно создать модуль config.js
Для приложений со многими параметрами конфигурации рекомендуется создание отдельного конфигурационного модуля. Этот модуль должен быть посвящен контролю версий.
Модуль config.js может выглядеть так:
const dotenv = require('dotenv');
dotenv.config();
module.exports = {
version: '1.2.3,
canonical_url: process.env.APPLICATION_ROOT,
api: {
host: process.env.API_HOST,
key: process.env.API_KEY,
secret: process.env.API_SECRET,
},
plugins: [
'plugin-one',
'plugin.two'
]
};
Приведенный выше пример смешивает конфигурацию из файла .env, чтобы оставаться специфическими для среды, в то время как другие значения конфигурации могут быть непосредственно использованы (например, плагины).
Это также имеет преимущество в том, что они могут импортировать конфигурации, где бы это ни было необходимо, и использовать деструктуризация, чтобы выявить только необходимые значения, которые нам нужны. Это делает код намного чище.
Документируйте свое приложение примером для файла .env
.env Файл должен быть специфичным для среды и не зарегистрироваться в управлении версиями, это наилучшая практика документировать .env Файл с примером. Это .env.Example Файл документирует обязательные переменные для приложения, и он может быть привержен контролю версий. Это обеспечивает полезную ссылку и ускоряет процесс бортового процесса для новых членов команды, поскольку время, чтобы выкопать кодовую базу, чтобы выяснить, что должно быть настроено, уменьшается.
A .env.Example могло бы выглядеть так:
# Environment variables. # Base URL of the API server to use. No trailing slash. API_HOST=https://example.com # API access credentials. API_KEY=key API_SECRET=secret # Enable debug mode (true) or disable it (false). DEBUG=false
Что происходит с переменными среды, которые уже существуют?
Библиотека DOTENV никогда не будет изменять какие -либо переменные среды, которые уже были установлены. Если переменная уже была установлена в вашей среде, а переменная в файле .env сталкивается с ней, переменная в файле .env будет пропущена.
TL; DR
- A
.envФайл необходим для чистого разделения конфигураций для конкретной среды. - Упаковка Dotenv используется для чтения файла .ENV во время выполнения, содержащих переменные среды, и добавить их на
Process.envобъект. - Создание примера для
.envФайл для документирования обязательных переменных ускоряет время настройки проекта. - Никогда не совершайте
.envФайл в управление версией.
Спасибо за чтение, и если у вас есть Вопросы , используйте Комментарий функция или Отправьте мне сообщение @mariokandut Анкет
Если вы хотите узнать больше о Узел , посмотрите на это Учебные пособия узла Анкет
Ссылки (и большое спасибо):
Node.js , Node.js Docs Хейнод , Dotenv
Оригинал: “https://dev.to/mariokandut/set-up-and-test-a-env-file-in-node-4kp”