В Angular 4/5 вместо предварительной обработки каждого запроса можно предварительно обработать только запрос, поступивший из сканера Facebook и Twitter - PullRequest
0 голосов
/ 26 июня 2018

В Angular 4/5 вместо предварительной обработки каждого запроса можно предварительно обрабатывать только те запросы, которые поступают от сканера Facebook и Twitter, т. Е. Когда пользователь публикует эти URL-адреса в Facebook или Twitter. Я думал, что если мы сможем реализовать что-то подобное, используя обратный прокси-сервер, где, если запрос поступит от бота Facebook или Twitter, я смогу обслуживать их из другой среды, которая предварительно отображает код Angular.

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

1 Ответ

0 голосов
/ 27 июля 2018

Хорошо, я нашел 2 решения.

  1. У сканеров Google, Facebook, Twitter и т. Д. Есть собственный пользовательский агент, т. Е.
googlebot
bingbot
twitterbot
facebookexternalhit
linkedinbot

Итак, в apache или nginx мы можем написать условие для предварительного рендеринга только запроса, поступающего от бота.

  1. Создайте приложение на любом языке, чтобы динамически обслуживать только файл index.html приложения Angular, в который вы встраиваете метатеги og во время выполнения относительно запрошенного URL.

    Надеюсь, это решение кому-нибудь поможет.

...