【问题标题】:React server-side render or static index.html?反应服务器端渲染或静态 index.html?
【发布时间】:2016-10-08 08:10:48
【问题描述】:

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

如果你在一个已经有这个的节点上调用 ReactDOM.render() 服务器渲染的标记,React 将保留它并且只附加事件 处理程序,允许您进行非常高效的首次加载 经验。

这是否意味着如果我使用仅包含我的 react 应用 js 文件的静态 index.html,我就不必使用服务器端渲染?

顺便说一句,哪种 react-app 架构更适合 SEO?

感谢您的回答!

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

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

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

    如果您想要 SEO,通用应用程序是您的最佳选择。两个优秀的架构是:

    祝你好运!

    【讨论】:

      【解决方案2】:

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

      当然。你当然可以纯粹在客户端使用 React,而不需要服务器渲染。然而,服务器端渲染可能有利于优雅降级。从可用性的角度来看,它也很有帮助,因为您的用户不必等待 javascript 下载并执行,然后才能显示任何内容。

      顺便说一句,哪种 react-app 架构更适合 SEO?

      现在搜索引擎拥有significantly matured 抓取动态页面的能力。然而,在大多数引擎中,对 javascript 生成内容的支持仍在进行中。作为谷歌网站管理员博客explains:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-27
        • 2017-01-14
        • 2015-05-09
        • 2017-12-29
        • 2019-02-09
        • 2020-04-19
        • 2018-10-02
        • 1970-01-01
        相关资源
        最近更新 更多