Как реализовать SSR для уже построенного приложения реагирования с CRA? - PullRequest
0 голосов
/ 26 октября 2019

У нас уже есть приложение реагирования, созданное с помощью CRA и Router. Мы хотим внедрить в него SSR, чтобы иметь возможность поддерживать SEO и социальные сети. Я видел и попробовал ряд методов, доступных для этого, но ни один из них, похоже, не работает.

Мы сделали наше приложение таким образом, что большая его часть фактически зависит от правильной работы браузера, например, отwindow объект. Один метод (вид) работал, но выполнение кода на стороне сервера выдает ошибку:

ReferenceError: 'window' is not defined

Основная причина, по которой мы хотим внедрить SSR, - это SEO и признание в социальных сетяхсайт. Мы добавляем мета-теги динамически (используя React Hemlet), поэтому Facebook, Twitter и т. Д. Не могут получить теги.

Так что теперь вопросы:

  1. Есть липравильный способ реализовать SSR на уже построенном сайте реакции?

  2. Есть ли альтернатива, которую мы можем использовать? На сайте имеется большое количество ресурсов, извлекаемых из удаленных конечных точек API, поэтому предварительный рендеринг невозможен.

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

Если вы хотите SSR из-за SEO. Я хотел бы использовать Prerender https://prerender.io/. Это позволяет нашему сайту поддерживать SEO, даже если он создан React.

0 голосов
/ 26 октября 2019

Вы всегда можете внедрить SSR на встроенном реактивном сайте. Ваши компоненты останутся без изменений.

Однако вам может потребоваться внести изменения в точку входа вашего приложения. А также вам нужно будет создать встроенный сервер в вашем приложении, который будет вашим SSR.

Для этого вам нужно будет сделать свою собственную конфигурацию веб-пакета.

Вам может понадобиться разработчик длячто;)

...