reactjs - 同构React,prerender.io相对于react-engine的优势?

标签 reactjs prerender react-engine

我见过 prerender.io 是一个基于 phantom.js 的解决方案,而 paypal 的 React-engine 似乎是更轻的解决方案。我需要决定使用哪一个。
prerender.io 相对于 React-engine 有什么优势? 适用于 SPA 和无 SPA。

最佳答案

如果您正在构建同构的 React 应用程序,那么 React-engine 或您自己的渲染初始页面的方式就足够了。

如果您可以使用 prerender.io 等付费服务,那么它也会使用 phantom.js 等 headless Webkit 浏览器执行相同的操作。 Prerender.io 在 headless webkit 浏览器(例如 phantomjs)中打开网页,并将渲染的 HTML 返回给搜索引擎。在此过程中,它会缓存渲染的 HTML。因此后续请求会得到更快的处理。它对于几乎所有使用 AngularJS、Backbone 等构建的 SPA 应用程序都很有用。

但是对于 React,我认为这是一种矫枉过正,而且当你可以轻松做到这一点时,也不需要付费服务。 React 为您提供了 API,可以使用 React.renderToString 轻松地在服务器中渲染组件。和React. renderComponentToStaticMarkup

非常简单的方法如下所示:

 Router.run(routes, url , function(Handler, routerState) {
        var handlerElement = React.createElement(Handler);
        var html = React.renderToString(handlerElement);
        res.send(html);
    });

这只是我最近构建的同构应用程序的一个片段。

您可以引用ConMAN 一个同构的 Reactjs 应用程序,我使用以下技术堆栈构建:Koa、React、React-router、Flux Architecture 和 Browserify。

关于reactjs - 同构React,prerender.io相对于react-engine的优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30843935/

相关文章:

angularjs - 为 AngularJs (1x) 网站启用 SEO

basic-authentication - 预渲染 basicAuth 配置

reactjs - React-engine 与其他模板引擎对比

javascript - React 引擎导致 "Cannot find module"错误

javascript - 向 Material UI 图标添加线性渐变

javascript - 如何在突出显示输入、拖动、释放时让我的下拉列表保持打开状态?

Angular 13 Prerender 错误找不到主包

javascript - 从 redux 中访问服务器 Prop ?

javascript - 如何使实用程序类或功能组件公开一些常见的实用程序方法

reactjs - 如何将 React 应用程序部署到个人页面的 Github 页面