TLDR;
Если у вас есть какая-то переменная в файле .env
(например, DUDE=Joe
), которую вы хотите использовать в файле package.json
(возможно, в сценарии), и вы просто хотите сделать это как можно скорее, не беспокоясь о других проблемах, вот что вам нужно сделать:
- установите эти пакеты:
npm install dotenv-cli cross-var
2. используйте переменную следующим образом:
3. запустите скрипт, чтобы проверить, работает ли он:
npm run sayhi
это должно напечатать (эхо) это в вашей консоли: hi Joe
Вот и все! Если есть более важные вещи, к которым нужно вернуться, пока! Если вы хотите увидеть, что происходит, что ж, давайте сделаем это! 🤓
Что происходит? 🤨🤔
Во-первых, давайте поговорим об установленных нами пакетах:
dotenv-cli
: загружает переменные среды из вашего.env
файла. Он включает в себя двоичный файлdotenv
, который мы используем в сценарии.cross-var
: позволяет использовать один синтаксис скрипта для работы в Mac OS X/Linux (bash) или Windows.
Хорошо, давайте поговорим о других вещах:
--
: означает конец опций (здесь опцииdotenv
), поэтому мы можем свободно использоватьcross-var
опции.
🤓 На самом деле нам это не нужно для этого скрипта! Я просто поместил его туда на тот случай, если вы используете другие команды, у которых есть собственные параметры (возможно, флаг для указания порта и т. д.). Вы можете оставить его там, чтобы быть в безопасности!
%DUDE%
: это имя переменной в нашем файле.env
, которое выглядит примерно так:
DUDE=Joe
😰 Не забудьте использовать %
символов до и после имени переменной!
- Последняя вещь. Если ваши переменные хранятся в
.env.local
или подобных файлах, вам нужно использовать параметр-e
следующим образом:
dotenv -e .env.local
ИЛИ, если у вас есть несколько файлов env:
dotenv -e .env2 -e .env3
Если вам нужно пойти глубже, не стесняйтесь взглянуть на источники, которые я перечислил ниже.