как настроить дотенв в разработке и производстве? - PullRequest
0 голосов
/ 22 апреля 2020

На моем Express JS API-сервере я пытался использовать dotenv с файлом .env для настройки среды.

Я предпочитаю использовать файл .env как для среды разработки, так и для рабочей среды.

Я использую nodemon для своей разработки, в настоящее время, если я включаю -r dotenv/config в пакет. json> сценарий запуска:

    "scripts": {
        "start": "nodemon --exec babel-node -r dotenv/config index.js"
    }

переменные установлены правильно в process.env в любом месте приложения

Однако, если я использую сценарий для настройки dotenv в index.js следующим образом:

import dotenv from 'dotenv'
// Environment variables
dotenv.config()

кажется process.env настроен только в индексе. js страница, я не могу получить process.env переменных в логах промежуточного программного обеспечения c?
Я поставил dotenv.config() выполнено в самом начале перед выполнением промежуточного программного обеспечения

Мои вопросы:
1. Является ли мой лог c с использованием dotenv.config() неправильной настройкой? почему мое промежуточное ПО не может получить одинаковые переменные?
2. Как настроить process.env переменные, считанные из файла .env, для разработки и производства? (Я могу использовать веб-пакет для упаковки своей рабочей версии)

Спасибо за любую помощь.

1 Ответ

1 голос
/ 22 апреля 2020

Вы можете иметь другие операторы import перед строкой dotenv.config(), эти модули не будут иметь доступа к настроенным переменным окружения

Вместо

import dotenv from 'dotenv'
dotenv.config()

вы можете использовать

import 'dotenv/config'

или используйте следующую команду для запуска приложения, аналогично настройке среды разработки. Если у вас есть перенесенный вывод в каталог build:

node --require dotenv/config build/index.js

ссылка:

https://www.npmjs.com/package/dotenv#how -do-i-use-dotenv-with-import-

...