Angular6 с использованием переменных системной среды в environment.ts

В моем приложении Angular4 я удалил конфигурацию веб-пакета и использовал модуль dotenv для чтения из файла .env и использования этих переменных конфигурации в приложении. Поскольку я обновился до Angular6, «ng eject» устарел, и я использую angular-cli. Я ищу обходной путь для этой проблемы (используя файл конфигурации или системные переменные среды).

Если я могу сделать ссылку в Spring Framework в файле application.properties

spring.datasource.username = ${MYSQL_DB_USERNAME}

MYSQL_DB_USERNAME — это переменная среды. Я хотел бы использовать это поведение в environment.ts


person Ivan Kirchev    schedule 06.07.2018    source источник
comment
environment.ts является файлом конфигурации. И вы не говорите, какую конкретную проблему вы пытаетесь решить.   -  person JB Nizet    schedule 06.07.2018
comment
Да, но я хочу использовать конфиденциальную информацию, не отправляя ее в репозиторий.   -  person Ivan Kirchev    schedule 06.07.2018
comment
Если эта конфиденциальная информация содержится в сгенерированных файлах JavaScript, распространяемых среди всех пользователей приложения, размещение ее в репозитории на самом деле не сделает его менее безопасным.   -  person JB Nizet    schedule 06.07.2018
comment
Это только для развития. Эта конфиденциальная информация будет предоставлена ​​пользователю после входа в систему. Но поскольку вход в систему еще не реализован, использование файла .env с конфигурацией, которая не загружена в репо, работает нормально.   -  person Ivan Kirchev    schedule 06.07.2018


Ответы (1)


Я не думаю, что вы можете это сделать, если только вы не используете SSR? Webpack для angular 6 на данный момент отключен, они сказали, что повторно добавят с некоторыми настройками, но большая часть будет сделана в angular.json. так что пока нет извлечения.

Я думаю, что лучшим подходом может быть вызов restApi для вашего бэкэнда при начальной загрузке для загрузки и извлечения любых переменных, которые вам могут потребоваться.

Извлечь Ng: https://github.com/angular/angular-cli/issues/10618

person Taranjit Kang    schedule 06.07.2018