У меня есть сценарий NPM, который выглядит следующим образом:
"start": "server start --host $DEV_HOST"
Есть много других скриптов, которые также ссылаются на $DEV_HOST
env.
В настоящее время $DEV_HOST
экспортируется в мой ~/.bashrc
, но я хотел бы найти способ определения его локально для проекта, например, в файле .env
.
Я задавался вопросом, предлагает ли npm хук preall
, который позволяет вызывать простой файл bash, который может загружаться в локальные envs, но такого хука не существует.
Также кажется, что NPM не предлагает никакого механизма загрузки для локальных envs из коробки.
В настоящее время я могу думать только о следующих решениях:
Переместите все скрипты, которым требуется локальный env, в свои собственные файлы bash и загрузите в файл .env в каждом из них.
Вызовите отдельный скрипт перед каждым скриптом, которому нужен локальный env, который загружается в envs из файла .env.
Оба они кажутся излишне громоздкими и плохо масштабируются.
Есть ли способ загрузить envs, определенные в локальном файле проекта, чтобы они были доступны для использования в скриптах NPM?
Примечание: Я не спрашиваю, как загрузить envs в приложение. Я спрашиваю, как сделать envs доступными для скриптов npm. Две вещи совершенно разные. Dot-env добавляет envs к текущему процессу. Даже если вы создали скрипт узла, который использовал dot-env для загрузки некоторых envs, эти envs не будут доступны через переменные $, поскольку они не загружаются в среду. Они будут доступны только в том же процессе через process.env
.