【发布时间】:2017-07-17 07:41:37
【问题描述】:
React/Redux 中服务器端渲染的意义何在?
在我看来,软件又增加了一层复杂性,但我并没有真正看到它的好处。
服务器端渲染有哪些常见用例?
【问题讨论】:
-
服务器端渲染而不是客户端渲染有什么意义?如果你知道那个问题的答案,那就是同一个答案。
React/Redux 中服务器端渲染的意义何在?
在我看来,软件又增加了一层复杂性,但我并没有真正看到它的好处。
服务器端渲染有哪些常见用例?
【问题讨论】:
React 的 SSR(服务器端渲染)比 CSR(客户端渲染)提供了一些好处:
1.改进(感知)客户端性能
显然,渲染的组件会立即显示给用户,而无需等待浏览器渲染。在加载并执行所有 React 代码之前,该网站不会进行交互,但通过尽快向用户显示内容来提高感知性能。
2。更好的搜索引擎优化
由于内容是在服务器端呈现的,搜索引擎爬虫可以看到呈现的内容,而不仅仅是带有 JS 标签的空白页面。
注意:谷歌爬虫支持 JavaScript 渲染,但不确定其他搜索引擎。
复杂性之间的关系 - 是的,SSR 引入了额外的复杂性,但每个技术决策总是需要权衡。
【讨论】:
所谓的Universal apps 或“同构JavaScript”的全部意义在于它的“一次编写,到处运行”的座右铭。这意味着您不需要维护一个特定的后端项目和一个特定的前端项目在技术上不同,而是将整个 JavaScript 项目整合为一个。
这并不像您想象的那么花哨,因为您仍然需要维护一个处理初始 GET 请求的后端特定部分。
此外,您还可以利用应用程序的单页特性,同时让服务器端的首页加载使您的网站 100% 可被 Googs 抓取,即使 Google 目前抓取 SPA 的能力非常强。
至于复杂性——我猜它可以像你想要的那样复杂或简单。并非所有事情都可以通过“通用应用程序”解决,也不是所有事情都可以通过标准网络应用程序解决。
【讨论】: