process.env
переменные задаются «Средой».По сути, они действуют как доступ к переменным среды вашей системы.При попытке доступа к process.env.PORT
будет возвращено undefined
, если вы не настроили ту переменную среды в оболочке, которую пытаетесь запустить в своей системе.
Вы можете установить переменную среды довы запускаете node app.js
со следующим:
$ PORT=8080
$ node app.js
В этом случае мы устанавливаем переменную окружения в существующей оболочке, затем вызываем узел с файлом app.js.Переменные среды передаются из родительских процессов в процессы, которые они запускают, если вы запустите эти две последовательности последовательно, вы будете устанавливать переменную среды в текущей оболочке, и node
получит ее при запуске (по всемдругие переменные окружения).
Чтобы увидеть все переменные окружения, доступные для существующего процесса узла, вы можете запустить console.log(process.env);
.
Это будет то же самое и для process.env.IP
.
Примечание: C9 и другие подобные среды часто имеют много предварительно установленных переменных среды.Вот почему он был доступен на C9.То же самое относится и к Heroku, потому что их система должна определять порт, который должен использовать ваш сервис, чтобы их балансировщики нагрузки / обратные прокси-серверы могли быть предварительно настроены для этого порта.