前端模板与后端模板

Front end templates vs. back end templates

为什么客户端和服务器端都有模板引擎?在服务器端处理路由不是很自然吗?在什么情况下最好在服务器端进行路由和模板化?在客户端?是否存在您想同时使用两者的情况?

我环顾四周,但没有找到任何可以简单解释这一点的东西。我想我错过了什么。

谢谢!

使用像 Angular 这样的 SPA 框架,您渲染 HTML 一次,然后依靠 Web API 调用来检索数据并将其绑定到视图。由于 Web API 调用 returns JSON 模型,因此需要前端模板在视图中呈现模型。

您将依赖服务器端路由和模板来呈现初始页面,并依赖客户端路由和模板进行任何后续用户交互(即通过 Web API 调用检索数据)。

让我一一回答你的问题:

为什么客户端和服务器端都有模板引擎? 很简单,减少服务器端的负载!想象一下,成千上万的用户向服务器端引擎(让我称之为 web/app 服务器)请求,并且所有请求都由服务器集群处理和提供(以主机为代价)。相信我,从服务器的角度来看,这是非常昂贵的。另一种选择是只将数据提供给执行表示逻辑的客户端引擎。由于它是客户端中的单个用户data/logic,因此它重量轻且速度快。关键是它减少了服务器的负载。

服务器端处理路由不是很自然吗? 这不仅很自然,而且必须在服务器端做(开始)。但是,如前所述,在客户端执行表示逻辑可以使用户体验更好。这就是带有 AngularJS 等客户端框架的单页应用程序的诞生方式!

什么情况下最好在服务器端进行路由和模板化? 在服务器端的情况下不使用术语模板。但是,表示模板(布局和组件)主要在客户端完成,功能模板(数据)在服务器端完成。服务器端模板只是网络服务 (API)。

在客户端呢? 正如所解释的,所有表示层的东西(HTML、CSS、JavaScript)。

在某些情况下您想要同时使用两者吗? 我会说,在所有情况下。然而,最好的选择是门户网站,而不是网站。

希望我理解你的问题并且我的回答对你有帮助。