Еще один вариант реализовать компонентный (a-la React/Vue) подход в чистом нативе.
Зачем - натягивание и кастомизация CMS или готовых сервисов, где слишком многое прибито гвоздями, и развернуть SPA здорового человека не позволят.
Как:
- Пишем <template>-ы с разметкой нужных нам глубоко кастомных элементов, закидываем их в JSON
- В точке монтирования подгружаем через fetch джсон с шаблонами, создаем временный элемент и через него (точнее, через innerHTML) цепляем все эти темплейты в head исходной страницы
- Пишем классы (ну или по-старинке через prototype) функции, которые вытягивают из head шаблоны, насыщают их обработчиками и монтируют в DOM
Это я к тому, что мы уже начали новый проджект с авторизацией через keycloak, а там возможности по визуальной кастомизации достаточно ограниченные. И поскольку каждая стадия авторизации - это отдельная страница со своим url-ом, то SPA тут никак не проканает.
Ну и классы из п3. можно будет потом закатать во вьюшные компоненты, а готовую часть темплейта для SFC скопипастить напрямую из джсона с шаблонами. А еще я понял, что реально соскучился писать код на нативке