Polymer CLI Build |缓存打破技术

时间:2017-07-17 20:59:30

标签: caching polymer browser-cache polymer-cli

一点背景: 我的应用程序基于Polymer 2.x构建,并且托管在不支持HTTP / 2且没有HTTPS证书的服务器上。我们必须支持IE11,Chrome,Firefox和Safari。

问题: 我遇到了浏览器缓存问题。我希望使用Polymer CLI生成的服务工作者来处理缓存清除。但是,由于我们的客户端服务器未启用HTTPS,因此我们无法使用它。无论如何,我们必须在单一版本上支持IE 11,因此服务工作者不是一个选择。

我无法找到在新部署中破解缓存的方法。在Polymer CLI github页面上,有一个关于这个主题的公开问题,但自2016年以来还没有任何牵引力。从观看Polymer上的YouTube视频,看起来有(或曾经是)一种方式使用Gulp拦截构建,但我似乎无法弄明白。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:2)

如果要使用polymer-build构建Polymer项目,可以使用gulp库。你可以在这里阅读:

https://github.com/Polymer/polymer-build

在这里的文档中简要提及:

https://www.polymer-project.org/2.0/toolbox/build-for-production#use-polymer-build

然后你可以使用像gulp-rev之类的东西来缓存半身像,但是你必须确保你不是要重写自定义元素名称,只是文件名和导入路径。 (我使用gulp-rev-all尝试了一次,默认情况下,它会将<app-header>替换为<app-header-a9fe00>或类似内容。)

答案 1 :(得分:0)

创建构建运行时polymer build sw-precache-config.js

答案 2 :(得分:0)

我已创建gulp-polymer-build来帮助解决这个问题。它借鉴polymer-cli build代码,并在polymer.json中支持您的构建配置。它允许您在构建之前修改源流,然后修改您在polymer.json中配置的所有构建的分叉流。这样可以轻松使用gulp-revgulp-rev-replace进行资产版本控制。