Привет от команды LoopBack ?
LoopBack не поддерживает dotenv "из коробки".
Если вы хотите сохранить конфигурацию, специфичную для среды, в файлах,затем вы должны установить производственную конфигурацию на server/datasources.production.json
и затем установить переменную среды NODE_ENV
на production
.LoopBack читает server/datasources.${NODE_ENV}.json
при запуске и применяет любые переопределения из этого файла поверх конфигурации по умолчанию, указанной в server/datasources.json
.
Сказав это, мы считаем, что лучше использовать https://12factor.net иобеспечить производственную конфигурацию через переменные среды.Я думаю, это то, что вы тоже пытаетесь достичь?
Может быть, вы ищете способ настроить источники данных из переменных среды?LoopBack поддерживает подстановку переменных в определенных файлах конфигурации, datasources.json
является одним из поддерживаемых.Например:
{
"db": {
"connector": "mysql",
"database": "${MYSQL_DB}",
"username": "${MYSQL_USER},
"password": "${MYSQL_PASSWORD}"
}
Когда речь идет, в частности, об источниках данных, мы рекомендуем несколько иной подход:
- Параметры подключения, используемые при локальной разработке, указаны в файле
server/datasources.json
с использованием параметров конфигурации источника данных, таких как host
, database
, username
и т. д. - При работе в производственном режиме (подготовка и т. д.) параметры подключения следует настраивать с помощью одной строки / URL-адреса подключения.Файл источника данных должен содержать запись, в которой для свойства
url
устанавливается значение, предоставленное средой. - Под капотом LoopBack и все коннекторы обеспечивают специальное поведение для поддержки этой функции: свойство
url
переопределяет вседругие параметры, но игнорируется, когда его нет.
Пример конфигурации источника данных:
{
"db": {
"connector": "mysql",
"database": "demo",
"username": "demo",
"password": "L00pBack"
"url": "${MYSQL_URL}"
}
При работе в производственном режиме вы можете установить строку подключения следующим образом:
export MYSQL_URL=mysql://prod:strong-password@localhost/realdb
Пожалуйста, обратитесь к нашему старому сообщению в блоге https://strongloop.com/strongblog/managing-loopback-configurations-the-twelve-factor-way/, чтобы узнать больше деталей.