2015-03-29 5 views
1

Я в настоящее время находится на стадии планирования нового проекта, который состоит из магазина, высокоактивной пользовательской информационной панели и отдельных продуктов, предлагаемых через витрину, являющихся высокоинтегрированными мини- Программы. Мы пытаемся уйти с созданием всей платформы SPA и спроектировать всю вещь в архитектуре Flux с React для интерфейсных просмотров.Изоморфизм в SPA, использующем услугу REST

Одна проблема, как и большинство SPA, - это SEO. Я прототипировал изоморфное решение, основанное на стеке este.js dev. Одна из проблем заключается в том, что наше приложение потребляет почти все свои данные с сервера RESTful, который отделен от веб-сервера, обслуживающего SPA. Это означает, что веб-серверу потребуется извлечь значительный объем данных с сервера RESTful, чтобы изоморфно генерировать моментальный снимок HTML.

Я рассмотрел вопрос о том, что у меня отдельный процесс обхода моего собственного обхода на весь магазин периодически и изоморфно генерирует моментальные снимки HTML страниц, которые могут быть отправлены, когда веб-сервер сталкивается с поисковым роботом. Я не уверен, что это хороший подход, хотя, скорее всего, это приведет к дополнительному обслуживанию и, честно говоря, кажется немного хрупким. Я могу просто заставить веб-сервер изоморфно генерировать HTML «на лету», но я боюсь, что утомляет сервер для обычных пользователей, поскольку сервер будет извлекать значительные данные из REST API ...

Есть ли лучший способ обрабатывать такой случай?

ответ

1

Откажитесь от Yahoo Fetchr, библиотеки с открытым исходным кодом, которая позволяет изоморфно ударять ваш API. Он связан с архитектурой Flux в Facebook, поэтому вам нужно иметь магазины, но по крайней мере вы можете получить от него некоторый код и концепции. Если вы находитесь на этапе планирования, вы можете даже рассмотреть возможность использования Flux или Fluxible.

http://fluxible.io/guides/data-services.html

https://github.com/yahoo/fetchr

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