1

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

问题: 我遇到了浏览器缓存问题。我希望使用 Polymer CLI 生成的服务工作者来处理缓存破坏。但是,由于我们客户的服务器没有启用 HTTPS,我们无法使用它。无论如何,我们必须在单个构建中支持 IE 11,因此服务工作者不是一个选项。

我想不出一种方法来破坏新部署的缓存。在 Polymer CLI github 页面上,有一个关于此主题的未解决问题,但自 2016 年以来没有任何吸引力。从观看 Polymer 上的 YouTube 视频来看,似乎有(或曾经有)一种拦截方法使用 Gulp 构建,但我似乎无法弄清楚。

任何帮助是极大的赞赏!

4

3 回答 3

2

如果您polymer-build想使用gulp. 你可以在这里读到它:

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

在此处的文档中简要提到:

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

然后你可以使用类似的东西缓存 bust gulp-rev,但你必须确保你没有重写自定义元素名称,只是文件名和导入路径。(我试过一次gulp-rev-all,默认情况下它被替换<app-header><app-header-a9fe00>或类似的东西。)

于 2017-07-17T22:15:25.840 回答
0

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

于 2017-07-20T05:07:55.823 回答
0

我创建了gulp-polymer-build来帮助解决这个问题。它从代码中借用polymer-cli build,并支持您在polymer.json. 它允许您在构建之前修改源流,然后为您在polymer.json. 这使得它易于使用gulp-revgulp-rev-replace进行资产版本控制。

于 2018-02-07T16:25:27.617 回答