2013-04-23 27 views
20

像Dust.js这样的一些JavaScript框架声称它们也支持服务器端呈现(除了客户端呈现)。有人可以解释这是如何工作的?我的理解是,JS总是在浏览器运行时执行。什么是JavaScript的服务器端渲染?

+1

JavaScript不仅在浏览器上运行。 http://nodejs.org/ – epascarello 2013-04-23 15:36:14

+4

我认为他们的意思是模板渲染,而不是图形渲染。 – David 2013-04-23 15:36:37

+0

@DavidCzihak您能否就差异详细解释一下。 – 2013-04-23 15:39:37

回答

12

JavaScript可以在使用诸如Node.js之类的系统的服务器上运行。

关于Dust.js,模板引擎,它可以在服务器上生成超文本和HTML,并将该内容直接发送到客户端的浏览器。这通常用于避免临时为空的模板的闪烁,这是由于浏览器需要通过像Dust.js这样的框架来填充视图的模板所导致的。缺点是页面的加载时间会稍长一些,因为在向客户端发送数据之前需要在服务器上完成更多的工作。

查看this question了解服务器端推广的优缺点。必须在慢速后处理(要求用户的浏览器执行工作)或缓慢的预处理(使得服务器在用户看到任何东西之前完成工作)之间进行选择。

+0

我知道你可以用node.js完全构建服务器端应用程序。我的问题是针对客户端UI的。 – 2013-04-23 15:42:06

+1

@Pangea最初的引用不是指浏览器和监视器完成的GUI渲染,而是指服务器端和客户端的“*渲染文本内容*”(通常为标记)。虽然,也许“*生成*”会是一个更好的词选择? :) – 2013-04-23 15:47:34

+0

@JonathanLonowski伟大的点 – chrx 2013-04-23 15:49:22

0

服务器端渲染意味着初始渲染将由服务器完成,其他一切都将由客户端完成。

客户端渲染客户端请求空html文件,然后客户端会首先加载组件/指令。

服务器端渲染客户端的初始请求将用于编译组件/指令而不是html文件,稍后在客户端处理所有内容。

您可以阅读更多CronJ Blogs