反应服务器端渲染或静态index.html?

时间:2016-06-08 07:33:37

标签: javascript reactjs

如何在React manual(ReactDOMServer)中看到:

  

如果在已有此节点的节点上调用ReactDOM.render()   服务器呈现的标记,React将保留它并仅附加事件   处理程序,允许您具有非常高性能的首次加载   经验。

这是否意味着如果我使用静态index.html,其中我只包含我的react app js文件,我不必使用服务器端呈现?

Btw哪个react-app架构更适合SEO?

谢谢你的答案!

2 个答案:

答案 0 :(得分:1)

理论上,你可以使用静态index.html。 React将尝试在客户端呈现页面并更新您的html。使用React 15变得更容易,因为您不再需要维护data-reactid属性。

尽管如此,我建议使用SSR(服务器端渲染),因为它可以让生活更轻松。当然,它需要付出努力才能建立,但它是有益的。您还可以使用服务器端路由,关键路径css等。

如果你想要SEO,通用应用程序是可行的方法。两个优秀的架构是:

祝你好运!

答案 1 :(得分:1)

  

所以这意味着如果我使用静态index.html,我只是   包括我的反应应用程序js文件我不必使用服务器端   渲染?

当然。您当然可以在客户端上纯粹使用React而无需服务器呈现。但是,服务器端呈现可能有利于优雅降级。从可用性的角度来看,它也有所帮助,因为在显示任何内容之前,您的用户不必等待javascript下载和执行。

  

Btw哪个react-app架构更适合SEO?

现在搜索引擎拥有significantly matured抓取动态网页的能力。但是,对javascript生成内容的支持是大多数引擎中正在进行的工作。作为Google网站管理员博客explains

  

有时,JavaScript可能过于复杂或难以执行,在这种情况下,我们无法完全准确地呈现页面。

     

有些JavaScript会从页面中删除内容而不是添加内容,这会阻止我们对内容编制索引。

因此,从SEO的角度来看,如果您选择服务器端渲染,它仍然会更好。

相关问题