【问题标题】:Express/Pug. Server side rendering vs client side rendering快递/哈巴狗。服务器端渲染与客户端渲染
【发布时间】:2018-06-26 17:46:41
【问题描述】:

当谈到什么是客户端和什么是服务器端时,我有点困惑。 我目前正在构建一个网站,使用 Pug 作为我的 HTML 页面,没有带有 <script src="myscripts.js"></script> 等的 HTML 页面。

所以我是否在服务器端渲染我的页面,因为我没有在客户端浏览器中加载任何文件?还是客户端,因为客户端可以四处点击并查看正在更新的内容?

我认为让我感到困惑的是,通常当我使用 Java 构建时,我的 HTML 页面中包含脚本。但是由于我是在 Javascript 中构建前端和后端,所以我很难理解谁在渲染什么。

如果这是一个巨大的菜鸟问题,我深表歉意,但我真的很想一劳永逸地理解它。

提前致谢。

【问题讨论】:

  • 首先,Java =/= JavaScript。不一样。没有任何关系。
  • Pug 是一个模板引擎。当您在路由中调用 res.render(template, params) 时,pug 会加载 pug 模板,将其转换为正确的 HTML 并插入参数/处理代码。那是服务器端渲染,因为整个 HTML 是在服务器上创建的,然后发送到浏览器(客户端)。客户端渲染将是一个类似 React 的框架,其中整个 UI 由浏览器的 JavaScript 引擎和从服务器加载的脚本处理,然后在浏览器中运行。
  • 谢谢 :) 说得通。
  • 抱歉,您说的是 Java 吗?很多人都混淆了 JavaScript 和 Java,我想你也是。
  • 我知道 Java 和 Javascript 之间的区别 :) 再次感谢您提供快速而有用的答案。

标签: javascript node.js pug


【解决方案1】:

在您的情况下,它是服务器端渲染,因为服务器将 Pug 编译为 HTML,然后将其发送到客户端(已经完成 HTML),这与 HTML 页面在客户端呈现的客户端框架(如 angular、react、vue)不同-side(浏览器)。

【讨论】:

    【解决方案2】:

    <script> 标签内的脚本由客户端加载,JavaScript 也由它们运行。

    服务器所做的是将 Pug 编译为 HTML,以便客户端可以显示它。

    如果客户端点击了某个东西并且它发生了变化,那么很可能是某个前端框架正在积极地改变 DOM

    【讨论】:

      猜你喜欢
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      • 2012-08-25
      相关资源
      最近更新 更多