Как использовать nodemon с файлами .env?
Я использую файл .env для хранения переменных среды для сервера. Это работает, если я запускаю сервер с запуском мастера. Но это не работает с nodemon.
Я хотел бы использовать nodemon вместо этого, потому что он перезапускается автоматически при изменении сервера. Как я могу заставить nodemon работать с файлами .env?
Ответы
Ответ 1
У меня есть production Procfile с:
web: node web.js
Итак, я создал файл Procfile_dev с:
web: nodemon web.js
И когда я нахожусь в среде разработки, я запускаю:
$ foreman start -f Procfile_dev
Он работает как шарм и не влияет на производство.
Ответ 2
Вы можете заставить nodemon напрямую использовать .env с помощью следующей команды
$: env $(cat .env) nodemon app.js
Имейте в виду, что вам придется перезапустить его, если вы вносите изменения в .env, и ему не понравится, если в вашем файле .env есть пробелы.
Ответ 3
Поместите свои локальные переменные конфигурации в файл .env и запустите мастер вместе с nodemon, используя следующую команду
$ foreman run nodemon web.js
Ответ 4
В последних версиях Node (начиная с io.js 1.6) вы можете передать ему флаг -r
, чтобы потребовать модуль при запуске. Это позволяет вам напрямую загружать .env
с помощью nodemon --exec
:
nodemon --exec 'node -r dotenv/config'
Для этого необходимо установить пакет npm dotenv
.
Ответ 5
Некромантия нитей!
Используйте grunt-env для загрузки переменных окружения из вашей конфигурации heroku.
Ответ 6
Heroku Procfile
Изменить: web: node app.js на веб-сайт: nodemon app.js