我对服务生很陌生。我想把服务人员纳入我的site.My动机是为了提高我的网站的性能,而不是让网站offline.Its成为一个房地产网站。
所以,到目前为止,我所做的就是为我的站点创建模块模板,并将它们存储在缓存中。例如,template1
<div>
<p>#data</p>
<div>每当在页面上发生提取时,我首先通过ajax调用api,获取数据并将缓存响应中的#data变量替换为实际的api响应,然后将新的响应返回给浏览器。
问题1:-,所以我想知道这是正确的方法。用于html模板缓存吗?
在上面的方法中,我在html中遇到了循环和条件语句之类的挑战。问题2:-是否可以用循环缓存模板并在运行时更改它们?
问题3:-说,如果我最初向用户显示缓存的应用程序-shell,那么这会影响我的站点的SEO排名吗?
问题4:- --我必须为现有代码编写新的模板,这意味着我必须维护两个代码--一个用于服务工作者,另一个用于不支持服务workers.Any解决方案的普通浏览器?
问候
发布于 2016-11-19 17:14:41
这是很多问题,我不认为服务人员一定是你最好的选择。
问题1:我个人建议使用一个框架,如KnockoutJS、Angular、Polymer...etc作为您的HTML模板。它们通常都有内置的模板缓存。
问题2:,而不是在“将变量发送到浏览器”之前替换变量的方法,大多数框架使用某种形式的数据绑定来处理浏览器中的迭代和条件。
问题3:缓存应用程序外壳对搜索引擎优化没有任何影响,谷歌已经解析JavaScript一段时间了;不过,就我个人而言,我建议网站的内容加载时不使用JavaScript,然后使用JavaScript来增强体验。无论是否使用app-shell模型,这都是一样的。
问题4: --我不理解您当前的设置,这不是一个普通的场景,所以您可能有问题。
服务工作者和缓存API通常用于缓存静态资产,通常是字体、css、JavaScript和HTML模板,并且应该会提高性能,因为HTTP请求较少;但是还有其他方法可以解决所有问题,而无需使用服务工作者。
https://stackoverflow.com/questions/40690321
复制相似问题