1

我一直在研究 react.js 框架。我还没有完全理解客户端和服务器端渲染之间的区别(尽管努力寻找明确的区别)。因此,我非常感谢善良的灵魂为这个主题提供清晰明了的解释?

顺便说一句,我来自 .NET 背景,因此我仍在尽我所能调整我的想法,转向更面向 JS 的编程方式。

谢谢!

4

1 回答 1

1

在服务器端渲染中,您正在处理 Web 服务器(想想编写一些 C#.Net 或其他东西),您没有像在浏览器中那样的文档或窗口。因此,react 所做的是在内存中构建一个“虚拟”DOM,然后它实际上可以将其转换为具有特殊属性的 HTML 字符串,它会在浏览器中获取这些属性。然后,您使用该 html 字符串响应 HTTP 请求。然后,当您在浏览器中加载 react 应用程序时,它会从服务器停止的地方开始,并在浏览器的内存中构建另一个“虚拟”DOM。如果操作正确,则在此过程中根本不需要操作文档,因此浏览器会像加载静态 html 文件一样加载此动态页面。但是现在你有了一个实时的 React 虚拟 DOM,应用程序可以导航到不同的页面,

要做到这一点,需要将许多 NPM 包拼凑在一起,并尝试找到最符合您的用例的示例,这可能会有点令人沮丧,因为 .NET 将所有内容真正整合到一个框架中。有很多不同的工具和技术(lint、transpile、bundle、test、build 等)需要为您的应用程序的每个部分考虑,并且可能需要一些时间和摆弄才能让它们一起工作。基本上,这是您为获得最佳网络应用程序而付出的代价。这些工具的功能令人惊叹,但入门肯定有一个陡峭的学习曲线。不过这里的人总是很快地提供帮助!

于 2016-11-02T04:18:55.707 回答