Функция вывода HTML и сохранения результата на хостинге firebase

Я хочу реагировать на события Firebase для создания (обновления) для создания HTML-страниц и размещения их на хостинге Firebase, чтобы они были немедленно доступны для использования. У меня он работает, за исключением части о загрузке полученного HTML на хостинг Firebase. Похоже, я не могу сделать это таким образом, но я хочу, чтобы все страницы были предварительно обработаны и готовы к быстрой загрузке.

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

На эта страница написано: «Предварительная визуализация одностраничных приложений для улучшения SEO». и это то, что я хочу. Является ли это возможным? Как сохранить предварительно обработанные страницы из функции HTTP?

Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
0
1 394
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

«Предварительная визуализация одностраничных приложений для улучшения SEO». На этой странице говорилось о предварительной визуализации в облаке перед передачей контента запрашивающей стороне. Он не генерирует статические файлы, когда данные обновляются еще до того, как запрос сделан. Как правило, для большинства случаев использования достаточно предварительной отрисовки с соответствующими заголовками кеширования.

Если вы действительно хотите предварительно генерировать все страницы при изменении данных, вы можете это сделать, но это будет сложнее. Есть некоторые хорошие статьи и гиды о развертывании на хостинге Firebase после завершения непрерывной интеграции. Общая идея верна для того, что звучит так, как вы хотите, за исключением того, что запускает сборку / развертывание, управляемое данными, а не изменением кода.

Это ответ, потому что вы правы в том, что Google имеет в виду, когда говорит «prerender», - это визуализировать его один раз в их CDN, что происходит автоматически, когда вы используете заголовок Cache-Control, например, в течение 300 секунд (5 минут): response.set('Cache-Control', 'public, max-age=300, s-maxage=300'); Вы все еще ожидаете ответа на первый запрос, что очень жаль.

GregT 07.11.2018 11:15

Способ предварительного рендеринга HTML, чтобы метаданные, такие как JSON-LD, были доступны поисковым системам, а opengraph был доступен платформам социальных сетей для расширенных карточек в общих ссылках, заключается в использовании облачных функций. Вы в основном запускаете Express / Pug (ранее Jade) в своих облачных функциях, чтобы отвечать с помощью HTML после завершения любого поиска в базе данных / хранилище данных. Я реализовал это, и он отлично работает.

Вызов функций через HTTP-запросы дает некоторое направление. Вы в основном добавляете некоторую информацию о переадресации, чтобы настроить свой хостинг. Это направит HTTP-вызовы на ваш сервер Express, работающий в облачных функциях. Проверьте репозиторий github функций firebase на наличие образца кода.

Другие вопросы по теме