在http://www.polymer-project.org/docs/polymer/polymer.html上看Chrome的DevTools我注意到一些有趣,好奇和无法解释的事情:
浏览器缓存实际的Polymer组件,因此对组件的后续<link rel="import"
调用不需要服务器往返。
浏览器将这些组件缓存为数据网址
显然,这样做可以非常快速地加载缓存的组件(0毫秒延迟)
我的问题
如何控制组件的缓存,以便在需要时可以使缓存无效? (查看http://www.w3.org/TR/2014/WD-html-imports-20140311/的规范,我没有提到缓存)
是否值得将我的整个网站结构分解为Web组件(又名“小部件”),以便我的网站的各个部分快速加载?示例,我只是使用<my-nav>
组件部署它,而不是总是使用相同的nav进行相同的布局,导航的数据(它有意义的地方)都包含在组件本身中,因此缓存后不需要与服务器交互。
答案 0 :(得分:1)
最简单的方法是控制服务器上的缓存。您要么需要提供eTag,要么更改组件文件的日期并使用Last-Modified
标头,要么每次更改文件名时都要更改文件名。
处理此问题的另一种方法是创建一个Service Worker and have that manage the caching of your files.