@kristine-bladvin

Серверный рендер для Seo, как вернуть на ходу html?

Есть готовое приложение на vue. Оно настроено на апи, при открывании страницы делает запрос на сервер и получает данные, все работает прекрасно.
Как теперь сделать рендер vue приложения на php, для первой и единственной отдачи страницы?
Смотрел nuxt но он только html файлы генерует. Дело в том что у меня основной сервер один и будет только php.
Не будет js сервера для рендеренга который веротяно стучится к php за данными, ну крайне не хочется.
Мне нужно все вернуть из php. Нужно как то получать html шаблон из vue и я его заполню данными.
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
Можно пойти сложным путем - сделать mpa в котором с сервера передается шаблон для корневого компонента vue-приложения и средствами php в него подсовывается json с данными наполнения:
<div id="#app" :input='<?php echo json_encode($data); ?>'>{{ input.something }}</div>

, затем уже на клиенте монтируется vue-приложение (с пропсами для входящих данных) и рендерит в шаблон (прилетевший с сервера или можно передать дальше во вложенные SFC) данные. Тогда seo будет чуть лучше (ибо начальные данные для рендера будут получены с сервера).

чтобы у пользователя не моргало шаблоном, можно скрыть данные через https://vuejs.org/api/built-in-directives.html#v-cloak

Такой подход достаточно удобно использовать, например, с laravel
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы