2016-04-02 5 views
1

Мы настраиваем приложение с использованием Laravel в backend и React.JS + Redux в переднем конце. Ищите решение для рендеринга на стороне сервера (для SEO).Как сделать рендеринг на стороне сервера с помощью Laravel + React.js + Redux?

Обнаружили это решение: https://github.com/tz5514/Laravel-Redux-Isomorphic, но это похоже на бэкэнд, используя express.js для рендеринга.

Итак, я ищу лучшее решение для рендеринга на стороне сервера.

ответ

5

Реагировать является JavaScript, поэтому он нуждается в JavaScript двигателя для запуска, так что один из способов увидеть проект Laravel, чтобы думать об этом как апи сервер «бэкэнд», который полностью отделен от «фронтэнда ', который использует узел для запуска javascript-части приложения.

Другими словами, у вас есть два приложения: один с laravel, который предоставляет api, который может быть использован любой другой службой в инфраструктуре, и приложение reactjs, которое является приложением nodejs, которое использует этот api, и обрабатывает магия реакции + сокращение.

Способ, которым ваш сайт фактически доступен из внешнего мира, - это приложение express/nodejs, которое вызывает laravel api для сохранения данных и другой бизнес-логики.

Приложение laravel обрабатывает сеансы, oauth, базу данных, доступ к файлу для жесткого диска и т. Д., В то время как приложение nodejs обрабатывает фактическую маршрутизацию веб-сайта, шаблоны, часть css и javascript.

Я получил этот ответ от HashNode

+0

Расширение PHP V8 может отображать JS с сервера. –

+0

Но как вы справляетесь с этим? у вас есть два сервера? – Golinmarq

+0

В настоящее время для этого используется два разных сервера. –

0

Реакция кажется подходящей с помощью Node Js (только). Но вы можете попытаться решить свою проблему с помощью этого плагина Laravel. react-laravel

+0

Мы видели этот пакет, но он не имеет надлежащей поддержки Redux. –

+0

Возможно, вы можете попробовать эту штуку. https://facebook.github.io/react/docs/webcomponents.html –

 Смежные вопросы

  • Нет связанных вопросов^_^