Создание переменных в глобальном окружении LINUX, Windows и Node js

В Bahs (“командной строке”) Linux или Git Bash применяем следующие команды:

env – увидеть список всех наших переменных в environment (англ. “окружении”) машины, на которой работаем.

env | grep <name variable> – посмотреть содержимое конкретной переменной. Например, env | grep SHELL

export STELLA=ZLATA – создали переменную “STELLA” со значением “ZLATTA”.

В консоли Windows:

set – увидеть список всех наших переменных.

setx STELLA 'ZLATA' – создали переменную “STELLA” со значением “ZLATTA”.

ВАЖНО И ИНТЕРЕСНО! Почему для Node js нужно идти немного другим путем?

Особенностью таких переменных является то, что они “живуте” только в той консоли, где были созданы. Например, мы можем создать файл с расширением .js и прописать в нем вызов в консоль нашей переменной :

main.js
console.log(nameVariable);

Теперь, если мы в нашей консоли, где создавали переменную (речь пока идет вообще о консолях, а не о конкретно той, где запускаим приложение), запустим файл через node js:
node main.js
, то получим вывод нашей переменной.

Но если запустим этот же файл с люблй другой консоли, наприример, через консоль VS code, то в ответ придет underfined.

Как можно поступить для Node js?

  1. Создаем файл .env (обычно в корне проекта). Добавляем ее в .gitignore.
  2. Создаем прямо в нем команду для создания переменной: export STELLA=ZLATA.
  3. Запускаем команду в консоли (VS Code): source .env, которая предназначена для выполнения кода внутри указанного файла.
  4. Теперь в нас в приложении можно обращаться к глобальным переменным, которые были экспортированы командами в файле .env. В нашем случае это STELLA. Для получения значения в файлах *.js вызываем process.env.STELLA.

Аналога команды source для Windows я не нашел, но переменная добавленная при помощи setx можно без проблем получить через process.env.STELLA в файлах приложения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *