Node.js:客户端模板v / s服务器端模板

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

客户端模板解决scheme(如JQuery模板)和服务器端解决scheme(如Jade for Node.js)有什么区别?

每个的用途是什么? 他们在哪里使用? 他们可以一起使用吗? 如果有的话,他们两个都在一起使用吗?

我无法理解这一点。 将有一个从这里附近的人的东西总览很高兴…

关于客户端和服务器端模板应该考虑的最大的问题是,如果客户端出于某种原因禁用JavaScript,则客户端模板将不起作用。

否则,这并没有太大的区别。 这主要取决于您是要在服务器上还是在客户端上生成标记。

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

例如:

在我写的一个应用程序中,我在服务器上使用了ejs模板来生成基本标记:头部,主体,页脚等 – 内容不变。

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

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

显然,我可以在整个网站上使用客户端模板,但是在客户端呈现静态部分的时候我看不出什么好处。 这只会让我的应用程序的客户端代码更复杂。