是否建议使用Javascript呈现整个网站?(优化)
我在某个地方读到,pros每页只打印一行html和一行javascript,其余的渲染过程由客户端完成。我发现这很有希望,所以我想我应该使用以下结构来呈现页面:是否建议使用Javascript呈现整个网站?(优化),javascript,html,performance,Javascript,Html,Performance,我在某个地方读到,pros每页只打印一行html和一行javascript,其余的渲染过程由客户端完成。我发现这很有希望,所以我想我应该使用以下结构来呈现页面: <html> <head> {{Title}} {{Meta tags}} {{CSS via CDN}} </head> <body> {{Dynamic JSON array containing the datas of the curre
<html>
<head>
{{Title}}
{{Meta tags}}
{{CSS via CDN}}
</head>
<body>
{{Dynamic JSON array containing the datas of the current page}}
{{Javascript libraries via CDN}}
{{JS files that contain HTML templates via CDN}}
</body>
</html>
{{Title}}
{{Meta tags}}
{{CSS via CDN}}
{{包含当前页面数据的动态JSON数组}
{{Javascript库通过CDN}}
{{通过CDN包含HTML模板的JS文件}
因此,问题是:
- 这真的是一种好的做法吗李>
- 通过CDN加载HTML模板值得吗
谢谢你的回答 当然,这是一个很好的实践(如果SEO真的是次要的话) 此外,您还可以
缩小
您的javascript和gzip
它
就性能而言,客户端脚本
比服务器脚本快得多当然,这是一个很好的实践(如果SEO真的是次要的)
此外,您还可以缩小
您的javascript和gzip
它
客户端脚本
在性能方面比服务器脚本快得多当然,在客户端渲染网站有其优点和缺点
优点:
- 您可以重用给定的模板。无需要求服务器呈现给定的UI元素,因此速度更快
- 当使用类似于您甚至可以更进一步的工具时,当重新招标模板时,仅替换更改的零件
- 您可以包括给定的模块/子页面(当需要时),这样您仍然可以避免在第一次加载时加载所有数据
- 当不在服务器上呈现网站时,它可以处理更多请求
- 网站更具活力。用户在浏览页面时获得即时感
- 它对SEO不友好,但有一些易于使用的工具可以帮助处理它(Meteor.js有一个)
计算很简单:)。使用动态JS网站渲染:)。在客户端渲染网站当然有其优点和缺点 优点:
- 您可以重用给定的模板。无需要求服务器呈现给定的UI元素,因此速度更快
- 当使用类似于您甚至可以更进一步的工具时,当重新招标模板时,仅替换更改的零件
- 您可以包括给定的模块/子页面(当需要时),这样您仍然可以避免在第一次加载时加载所有数据
- 当不在服务器上呈现网站时,它可以处理更多请求
- 网站更具活力。用户在浏览页面时获得即时感
- 它对SEO不友好,但有一些易于使用的工具可以帮助处理它(Meteor.js有一个)
- 有一个非常脆弱的系统,如果JS因任何原因无法加载、被浏览器错误绊倒等,它将完全崩溃
- 必须从构建所有逻辑服务器端开始,然后复制所有工作客户端,并使用
和friends来创建可行的URIpushState
- 有一个非常脆弱的系统,如果JS因任何原因无法加载、被浏览器错误绊倒等,它将完全崩溃
- 必须从构建所有逻辑服务器端开始,然后复制所有工作客户端,并使用
和friends来创建可行的URIpushState
再说一次,这要视情况而定。使用CDN可以加快静态文件的交付速度,但这是一项额外的费用,并且需要为站点提供更复杂的构建系统(因为您必须部署到多个服务器,并确保发布的URI匹配)。这会使您的初始渲染速度变慢(浏览器针对渲染HTML进行了非常好的优化),这可能会影响你的搜索排名,而且缓存也不太合适。Twitter尝试了一种只支持JavaScript和JSON的架构,并最终返回到与JavaScript应用程序一起提供预呈现页面的服务,因为它提供了更好的感知响应时间。(同样,实际的响应时间并不一定更好,但用户可以更快地看到响应。)这会使您的初始渲染速度变慢(浏览器对渲染HTML进行了非常好的优化),这可能会影响您的搜索排名,而且缓存的适用性也会有所降低。Twitter尝试了JavaScript-a
Dynamically loading JSON array containing the datas of the current page
Javascript libraries being loaded via CDN
JS files that contain HTML templates via CDN