SPA中的同构消耗REST服务

目前,我正在进行一个新项目的规划阶段,这个项目由一个店面,一个高度活跃的用户仪表板以及通过店面提供的高度互动的迷你应用程序来提供。 我们试图摆脱使整个平台成为SPA的束缚,用React为前端视图deviseFlux架构上的全部function。

像大多数SPA一样,一个问题就是SEO。 我已经基于este.js dev堆栈原型化了一个同构解决scheme。 一个问题是,我们的应用程序几乎从一个REST风格的服务器(它与服务于SPA的Web服务器分开)中消耗所有数据。 这意味着Web服务器需要从RESTful服务器获取大量的数据,以同构地生成HTML快照。

我认为我自己的一个单独的抓取程序会定期抓取整个店面,同时生成当Web服务器遇到search引擎抓取程序时可以提供的页面的HTML快照。 我不确定这是否是一个好的方法,因为它可能会引入额外的维护,坦率地说,似乎有点脆弱。 我可以让Web服务器同时生成HTML,但是我担心服务器会从REST API中获取相当多的数据,因此担心普通用户的服务器不能正常工作。

有没有更好的办法来处理这种情况?

查看雅虎的Fetchr,这是一个开放源代码的库,可以让你同时击中你的API。 它与Facebook的Flux架构相关联,所以你需要有商店,但是至less你可以从中收集一些代码和概念。 如果您正处于规划阶段,您甚至可以考虑使用Flux或Fluxible。

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

https://github.com/yahoo/fetchr