javascript - Node.js:客户端模板与服务器端模板

原文 标签 javascript jquery node.js template-engine

几天来,我一直在尝试学习 Node.js,但有一件事我很困惑。

像 JQuery 模板这样的客户端模板解决方案和像 Jade for Node.js 这样的服务器端解决方案有什么区别?

各有什么用途?它们在哪里使用?它们可以一起使用吗?如果有的话,有没有一起使用的例子?

我只是无法理解这一点。很高兴能从这里的某个人那里概述一下……

最佳答案

关于客户端模板与服务器端模板,最重要的一点是,如果出于某种原因在客户端禁用了 JavaScript,则客户端模板将不起作用。

否则差别不大。这主要取决于您是要在服务器上还是在客户端上生成标记。

使用客户端模板的一个典型原因是,如果您的应用程序使用 ajax、websockets 等从服务器加载更多数据。在这种情况下,您可能需要一个客户端模板来呈现新加载的数据。

例如:

在我编写的一个应用程序中,我使用服务器上的 ejs 模板来生成基本标记:头部、正文、页脚等 - 不会改变的内容。

该应用程序使用 socket.io,它从服务器向客户端发送一些事件和数据。为了显示这些数据,我使用了 Knockoutjs 的客户端模板。

所以就我而言,这是一种混合方法。我这样做的原因是因为我在服务器上生成的标记将在页面加载后立即显示。来自 socket.io 的数据也可以在服务器上呈现为 HTML,但这需要比发送简单的 JSON 对象等更多的带宽,所以我选择在客户端呈现它们。

显然,我可以为整个站点使用客户端模板,但我发现在客户端上呈现静态部分没有任何好处。它只会使我的应用程序的客户端代码更加复杂。

关于javascript - Node.js:客户端模板与服务器端模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876168/

相关文章:

javascript - 如何将文件限制为仅在Angular文件上传中以UTF-8编码?

javascript - 使用 jquery/ajax 加载外部页面 - 也加载外部页面的 jquery 脚本

javascript - Canvas -如何使用createLinearGradient()用两种颜色填充正方形?

javascript - 在文本框中使用Javascript强制事件Onkeypressed上的数字精度

javascript - jQuery.cookie : no update of the cookie despite a very simple code

jquery - 在jQuery中创建随机边框

javascript - 单击新的h3后隐藏先前打开的p标签

node.js - 使用 Sharp 库的 Firebase 部署功能在 Google Cloud Build 中失败

node.js - 如何从socket.io服务器发送请求到特定的客户端?

javascript - 使用 cors 从 aws s3 加载的 Canvas 元素和图像在第一次加载时不起作用