Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 客户端服务器端模板节点_Javascript_Ajax_Node.js_Backbone.js_Client Side Templating - Fatal编程技术网

Javascript 客户端服务器端模板节点

Javascript 客户端服务器端模板节点,javascript,ajax,node.js,backbone.js,client-side-templating,Javascript,Ajax,Node.js,Backbone.js,Client Side Templating,我正在使用nodejs开发一个webapp。我最初只打算使用服务器端hbs模板,但后来我发现了有关客户端模板的主干。我发现它可以从服务器获取数据,然后使用hbs模板显示数据,而不是在服务器端生成整个html页面并发送。但后来我也读到一些人建议,在客户端使用许多ajax调用来获取数据并显示一个网页是不好的做法,它会向服务器发出太多请求,而且网页看起来会很慢。所以我想知道是否有一个一般规则,一页可以提出多少个请求?我应该使用经典的一个请求一个响应吗?或者响应应该是一些客户端javascript,然后

我正在使用nodejs开发一个webapp。我最初只打算使用服务器端hbs模板,但后来我发现了有关客户端模板的主干。我发现它可以从服务器获取数据,然后使用hbs模板显示数据,而不是在服务器端生成整个html页面并发送。但后来我也读到一些人建议,在客户端使用许多ajax调用来获取数据并显示一个网页是不好的做法,它会向服务器发出太多请求,而且网页看起来会很慢。所以我想知道是否有一个一般规则,一页可以提出多少个请求?我应该使用经典的一个请求一个响应吗?或者响应应该是一些客户端javascript,然后从服务器获取数据并显示它们


谢谢

我发现最好的解决方案是在服务器端渲染模板,然后让主干应用程序将自身连接到服务器渲染的元素。我使用Jade作为模板引擎,它允许我在服务器端和客户端重用模板。你应该花些时间阅读这篇文章。如果您确定这是您正在寻找的,请安装应用程序


我认为上述解决方案最不固执己见。您还可以非常快速地阅读代码,了解项目背后的想法。它只是一系列不同的技术结合在一起,有助于充分利用客户机和服务器代码的可重用性。在服务器端进行渲染时,即使感知性能也非常出色。您还可以获得渐进增强的额外好处,并解决SEO和单页应用程序可能遇到的任何问题

不,没有这样的一般规则或最佳实践。只要确保在发送ajax请求时,能够高效地发送请求。没有同步调用,如果可能,请并行发送。还要大量使用缓存。这完全取决于你在做什么以及你是如何做的。人们喜欢gmail是因为它在一个页面上调用了很多ajax,而他们喜欢craigslist是因为它没有。在大多数情况下,它只需要再请求1-3次(像往常一样获取html、css和javascript,并用一个额外的json请求填充html),之后,当你导航回“主页”时,你的一页网站只会发出1次请求为了获得新的数据,我建议您考虑您的受众和您希望应用程序做什么,然后进行服务器端和/或客户端模板化。客户端模板对于用户体验来说是非常好的,不过不要发出太多的请求也很重要。