Dotenv ведет себя по-разному в разных средах (без разбора кавычек) - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть файл .env.local, который выглядит следующим образом:

SOME_URL="localhost:3000"

Мой javascript файл выглядит так:

import dotenv from 'dotenv';
dotenv.config({ path: '.env.local' });

const host = process.env.SOME_URL;

console.log('host', host);

Когда я запускаю этот скрипт локально, Я получаю правильный ожидаемый вывод:

host localhost:3000

Но когда я контейнирую этот скрипт и запускаю его с Docker, я получаю следующий вывод:

host "localhost:3000"

В контейнерной версии, кавычки включены как часть строки.

Как я могу это исправить?

1 Ответ

0 голосов
/ 25 апреля 2020

Оказывается, это было недоразумение с моей стороны, а не проблема с dotenv. Я использовал dotenv только в среде разработки, а в среде Docker переменные среды определялись как enf_file в docker-compose. docker-compose анализирует файлы env не так, как dotenv, и включает окружающие кавычки в значения.

...