Как в бекэнде на php задать начальные данные для js фреймворка (Vue.js)?

Допустим, есть страница со списком новостей. На стороне сервера реднерится разметка (в т.ч. и для Vue.js), потом подключается скрипт, который уже добавляет всему реактивности, но как быть непосредственно с новостями?
Рассматривал такие варианты:
  1. Получать по ajax после загрузке страницы. Плюсы: быстро и правильно. Минусы: для ботов-поисковиков страницы будут пустыми.
  2. Рендерить js-скрипт с инициализацией данных. Пока выглядит оптимальнее всего, но будут смущать на странице inline скрипты.
  3. Рендерить js на стороне сервера. Плюсы: готовая страница на выходе. Минусы: рендерить через V8, в которой разобраться даже с установкой выглядит весьма непросто.

Возможно, есть какой-то способ с помощью того же vue "собрать" данные с отрендеренных компонентов? Или может есть другие подходы для задания начальных данных?
  • Вопрос задан
  • 1616 просмотров
Пригласить эксперта
Ответы на вопрос 1
@JSmitty
Буду банален - вам нужен SSR, то есть Node.js + Vue.js на серверной стороне. PHP тут лишний.

Если уж совсем, можете сделать отдачу статической страницы, на которую будет пристегнут фреймворк, и статически подгружать данные через JSONP прямо инлайн. Да, фреймворк первым делом сделает вам ре-рендер дом дерева. Его можно "уговорить", чтобы он так не делал - читайте по ссылке выше "гидратация клиентской части".
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект