一点背景: 我的应用程序基于Polymer 2.x构建,并且托管在不支持HTTP / 2且没有HTTPS证书的服务器上。我们必须支持IE11,Chrome,Firefox和Safari。
问题: 我遇到了浏览器缓存问题。我希望使用Polymer CLI生成的服务工作者来处理缓存清除。但是,由于我们的客户端服务器未启用HTTPS,因此我们无法使用它。无论如何,我们必须在单一版本上支持IE 11,因此服务工作者不是一个选择。
我无法找到在新部署中破解缓存的方法。在Polymer CLI github页面上,有一个关于这个主题的公开问题,但自2016年以来还没有任何牵引力。从观看Polymer上的YouTube视频,看起来有(或曾经是)一种方式使用Gulp拦截构建,但我似乎无法弄明白。
非常感谢任何帮助!
答案 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-rev
和gulp-rev-replace
进行资产版本控制。