Назначение сервиса бандлирования статического контента — оптимизация времени загрузки страницы приложения. Статический контент — *.js-файлы и *.css-файлы, которые находятся в файловой системе Creatio и используются для отображения интерфейса приложения в браузере. Подробнее о статическом контенте читайте в статье Файловый контент пакетов.
Способы оптимизации времени загрузки страницы приложения:
- Минификация — уменьшает размер *.css, *.js и *.html-файлов. В процессе сжатия все комментарии к коду, переносы строк, лишние отступы и пробелы удаляются. Уменьшает размер исходного файла на 10-20 %.
- Бандлирование (генерация bundle-файлов) — оптимизирует работу приложения путем объединения всех однотипных файлов статического контента в один bundle-файл. Уменьшает количество запросов страницы.
Большинство веб-приложений сразу поставляются с минифицированными и бандлированными файлами. Поскольку конфигурация приложения Creatio, как и статический контент, может меняться во время жизненного цикла приложения, то минификация и бандлирование выполняется при необходимости в автоматическом режиме.
Схема работы
- ContentService — сервис, который взаимодействует с файлами приложения Creatio для выполнения минификации и бандлирования. Размещается независимо от приложения Creatio. ContentService может работать в паре с ContentWatcher или самостоятельно. Подробнее читайте в статье Сервис бандлирования статического контента.
- ContentWatcher — утилита, которая взаимодействует с файлами приложения Creatio и с ContentService для обеспечения своевременности выполнения минификации и бандлирования. Подробнее читайте в статье Сервис бандлирования статического контента.
Для увеличения производительности приложение по умолчанию настроено на генерацию минифицированных bundle-файлов.
Схема работы сервиса бандлирования представлена на рисунке ниже.
Совместимость с продуктами Creatio
Сервис бандлирования статического контента совместим со всеми продуктами Creatio версий 7.11 и выше.
Варианты установки
Сервис бандлирования статического контента можно использовать для on-site и cloud приложений.
Для развертывания сервиса бандлирования для on-site приложения используется Docker-контейнер. Документация Docker доступна на официальном сайте Docker. Для развертывания сервиса бандлирования воспользуйтесь инструкцией, которая приведена в статье Сервис бандлирования статического контента.
Для cloud-приложений сервис бандлирования настроен по умолчанию.