Разница в использовании переменных среды между режимами разработки и производства? - PullRequest
0 голосов
/ 28 октября 2019

Я учусь, как развернуть простой бэкэнд-проект node.js в производство, в моем случае heroku. Я наткнулся на это замечание о переменных среды в файле .env:

The environment variables defined in dotenv will only be used when the backend is not in production mode, i.e. Heroku.

We defined the environment variables for development in file .env, but the environment variable that defines the database URL in production should be set to Heroku with the heroku config:set command:

heroku config:set MONGODB_URI=mongodb+srv:...

Как мой файл .env может использовать переменную среды heroku config:set MONGODB_URI=mongodb+srv..., если использование heroku будет означать, что мой бэкэнд находится в рабочем режиме? В первом предложении говорится, что переменные среды используются только для режима разработки.

Что я неправильно понимаю? Используются ли переменные среды как в режиме разработки, так и в режиме производства, и неверная формулировка прочитанной заметки?

Ответы [ 2 ]

1 голос
/ 28 октября 2019

Я думаю, это говорит о том, что переменные окружения в .env будут использоваться, когда вы находитесь в разработке (не Heroku), и что если вы действительно хотите использовать переменные окружения в Heroku, вам нужно сделать это через heroku config:set ....

0 голосов
/ 28 октября 2019

Что я не так понимаю? Используются ли переменные среды как в режиме разработки, так и в производственном режиме, и неверная формулировка прочитанной мной заметки?

Переменные среды используются во всех сценариях, но только в локальном режиме разработки они считываются из файл . dotenv - это пакет, который позволяет считывать переменные среды из файла.

В рабочем режиме Heroku, по сути, делает следующее, например:

PORT= 9999 узел index.js

Попробуйте, вы можете получить доступ к этой переменной внутри узла, используя:

console.log(process.env.PORT);
// 9999

Переменные среды - это просто глобальные переменные, доступные всему процессу.

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