Функция для вывода HTML и сохранения результата на хостинге Firebase - PullRequest
0 голосов
/ 14 сентября 2018

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

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

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

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

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

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

0 голосов
/ 16 сентября 2018

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

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

...