2017-02-20 4 views
1

Я .env файл в корневой папке файлаdotenv файл не загружается переменные окружения

NODE_ENV=development 
NODE_HOST=localhost 
NODE_PORT=4000 
NODE_HTTPS=false 
DB_HOST=localhost 
DB_USERNAME=user 
DB_PASSWORD=user 

И server.js файл в папке root/app/config/server.js. Первая строка server.js файла

require('dotenv').config();

Я также попробовал следующее:

require('dotenv').config({path: '../.env'});

require('dotenv').config({path: '../../.env'});

Однако моя переменная окр не загружается при запуске server.js файла из командной строки

node root/app/config/server.js

Если я использую Visual Studio и нажмите F5, это грузы !!

Я не уверен, что я делаю неправильно, что мне не хватает. Любое предложение очень ценится. Благодарю.

+1

Текущий рабочий каталог может быть для вас намеком. – zerkms

+0

Привет @zerkms, не уверен, что я следую за вами. –

+1

Хорошо. Что такое '../. Env'? Это относительный путь. Это относительно ... что? – zerkms

ответ

5

Как насчет использования require ('dotenv'). Config ({path: __ dirname + '/./../.. /. Env'})?
Ваша проблема, кажется, путь выполнения.

+0

Это не сработает. Вы смешиваете абсолютный и относительный путь вместе. Вместо этого вы должны использовать Path.Join. –

+1

@ ZammyPage нет никакой причины, по которой объединение абсолютного пути и относительного пути не будет работать (если они добавят ведущую косую черту к относительному пути к файлу env, он должен работать) – zerkms

+0

Извините, я забыл провал: m используя dotenv на моем сервисе, как это. Он не работает? –

0

Добавление небольшого нюанса к ответу выше - если вы вызываете dotenv из вложенного файла, и файл .env в корне проекта, то, как вы хотите, чтобы соединить точки является одним из следующих:

require('dotenv').config({path:'relative/path/to/your/.env'})