Когда вы разрабатываете приложение Angular, скорее всего, в какой-то момент вам понадобится какая-то конфигурация.

Angular предоставляет нам конфигурацию времени компиляции, встроенную как часть Angular CLI, с использованием файлов среды и параметра цели сборки.

В этой статье мы погрузимся в создание службы конфигурации в реальном времени в Angular.

Что такое конфигурация времени компиляции?

Когда вы создаете приложение Angular, Angular CLI компилирует ваши файлы в пакет с файлом конфигурации сборки на месте. Следовательно, если вы внесете изменения в конфигурацию, вам нужно будет перестроить приложение и развернуть его, чтобы эти изменения вступили в силу.

Для получения дополнительной информации о настройке времени компиляции см. Настройка сред приложений с помощью Angular CLI.

Хотя этот параметр встроен в Angular CLI, иногда его недостаточно, и вам нужно учитывать параметр конфигурации во время выполнения.

Что такое конфигурация времени выполнения?

Когда ваше приложение запускается, вы делаете запрос на получение файла конфигурации с сервера. Это дает вам больше гибкости, поскольку вы можете вносить изменения в файл конфигурации на сервере, просто обслуживая новый файл конфигурации, без необходимости создавать веб-приложение и его повторное развертывание.

Затем давайте посмотрим, как мы можем настроить наше приложение Angular для загрузки конфигурации в реальном времени.

Создание службы конфигурации времени выполнения

Первым шагом будет создание службы Angular, которая будет выполнять вызов API для получения конфигурации из конечной точки конфигурации на сервере.

Начнем с определения службы Angular, которая выполняет HTTP-вызов GET с помощью службы HttpClient (HttpClientModule). Обратите внимание, что мы возвращаем обещание, а не Observable. Это важный момент, который будет разъяснен позже.

Загрузка конфигурации при запуске приложения

Мы хотим загрузить конфигурацию, как только наше приложение Angular будет инициализировано. Мы можем использовать токен внедрения APP_INITIALIZER, который является одним из встроенных токенов внедрения, который Angular предоставляет нам для загрузки нашей службы, как только приложение Angular инициализируется.

Мы добавляем поставщика для токена внедрения APP_INITIALIZER. Мы устанавливаем его фабричный метод на функцию loadConfig. Этот метод возвращает функцию, которая возвращает обещание. Нам нужно будет вернуть обещание, поскольку Angular будет ждать выполнения обещания, прежде чем приложение будет загружено.

Для получения дополнительной информации о настройке заводского провайдера прочтите статью Angular DI Factory Provider

Вот и все!

Первоначально опубликовано на https: //www.lanotech. net

Следуйте за нами в Twitter # ЛаноТехно