Busting Chrome缓存可用于浏览器同步重新加载

时间:2018-05-27 04:19:48

标签: javascript google-chrome flask webpack browser-sync

我有浏览器同步工作正常,但我仍然很难缓存之前的HTML。即使使用Chrome"禁用缓存"已检查,甚至在隐身模式下!

要将页面更改加载,我总是必须"清除缓存和硬重新加载"。

我想知道,是否可以让浏览器同步重新加载相同的网址但是使用哈希作为查询参数?像:

https://my.flask.com/?q=jsd094334jn3io482048 (每次使用不同的哈希值)

我的特殊设置是我在本地域上开发一个烧瓶应用程序:https://my.flask.com/并带有自签名证书。我没有使用端口,因为我试图以各种可能的方式模仿生产。

我通过browser-sync-webpack-plugin使用浏览器同步和页面底部的脚本:

<script id="__bs_script__">
  document.write("<script async src='https://HOST:3060/browser-sync/browser-sync-client.js?v=2.24.4'><\/script>".replace("HOST", location.hostname));
</script>

对更改的热重新加载在webpack和browser-sync中都应该正常工作。由网页(css,js)加载的资产被散列(或指纹或其他),因此它们被设置为在更改时绕过缓存。所以他们不是问题。

我无法弄清楚为什么重新加载/和/ [route]会被缓存,以及如何绕过它!

任何帮助表示赞赏

更新

我最好的猜测是,问题不在于缓存 - 浏览器同步在webpack构建完成之前触发刷新。

1 个答案:

答案 0 :(得分:1)

问题不在于缓存,而是在webpack构建完成之前,browsersync正在触发刷新。添加reloadDelay: 500有助于