Как определить разные переменные для разных сред в node.js? - PullRequest
0 голосов
/ 27 октября 2018

Я начинаю использовать dotenv для определения моих переменных env.Я могу легко указать мои общие переменные для среды разработки и разработки в одном файле .env.Но как указать различные переменные для среды разработки и производства.

Например, я хочу использовать DB_NAME = dev_db для разработки и DB_NAME = prod_db для производства.Как я могу добиться этого с dotenv?

Я работаю с node.js.Заранее спасибо!

1 Ответ

0 голосов
/ 27 октября 2018

Предполагается, что файл .env различен в разных средах, поэтому его не следует фиксировать в репозитории с исходным кодом (для Git это будет означать .gitignore).

Например, у вас будет config.env на производстве с этим:

DB_NAME=prod_db

А по разработке вот так:

DB_NAME=dev_db

В обеих средах файлы будут иметь имя config.env и будут находиться в одном месте, чтобы код считывал правильный файл.

В моем проекте подтвержденный файл называется config.env.sample, который содержит все необходимые значения, чтобы разработчики знали, что им нужно добавить в config.env в своей среде:

# config.env.sample
# Sample configuration file for Project XYZ

# Name of the database
DB_NAME=dev_db

Вот дополнительная информация из FAQ :

Должен ли я зафиксировать мой файл .env?

Нет. Мы настоятельно не рекомендуем передавать ваш файл .env в систему контроля версий. Он должен включать только специфические для среды значения, такие как пароли базы данных или ключи API. Ваша производственная база данных должна иметь пароль, отличный от вашей базы данных разработки.

Должен ли я иметь несколько файлов .env?

Нет. Мы настоятельно не рекомендуем иметь "основной" файл .env и файл "environment" .env, например .env.test. Конфигурация должна отличаться в зависимости от развертывания, и вы не должны делиться значениями между средами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...