同时在服务器和浏览器上呈现JavaScript意味着什么

What does it mean to have JavaScript that renders both on server and browser?

本文关键字:JavaScript 意味着 什么 浏览器 服务器      更新时间:2023-09-26

我经常看到有人说JavaScript的好处之一是你可以有一个既能在服务器上工作又能在浏览器上工作的代码库。不过,在我的任何node.js项目中,我从来没有同时用于后端和前端的代码。如果我在节点中编写一个web服务器,为Angular中的前端应用程序提供一些静态资产,那么我的大多数后端代码都是特定于非前端任务的。

那么,在后端和前端都使用代码意味着什么,或者看起来像什么?一个具体的例子是,我经常看到人们说React在服务器和浏览器上都渲染。太棒了不过,这有什么帮助?这是否严格用于自动化测试?

想要在客户端和服务器上运行代码的一般情况是,您可以拥有:

  • 一个快速的客户端实现
  • 可靠的服务器端实现

因此,您可以使用代码来检查用户输入以确保其正常,并在客户端上运行它,以便用户获得即时反馈,并在服务器上运行相同的代码,以便用户不会绕过它,将错误的输入输入到您的系统中。

或者,您可以在客户端上运行复杂的代码,使用大量Ajax和历史API构建页面,同时在后端复制它,这样它仍然适用于JavaScript失败的客户端(由于连接不良或缺乏支持(例如,搜索引擎)),因此如果加载了主页以外的页面,浏览器将加载正确的页面,而不是加载主页,然后(可能不是很快)将其替换为所需的页面。