首页 > 解决方案 > 破坏 Chrome 缓存以进行浏览器同步重新加载

问题描述

我的浏览器同步工作正常,但我仍然很难缓存以前的 html。即使检查了 Chrome 的“禁用缓存”,甚至在隐身模式下!

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

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

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 和浏览器同步中都应该正常工作。网页加载的资产(css、js)被散列(或指纹或其他),因此它们被设置为绕过更改缓存。所以他们不是问题。

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

任何帮助表示赞赏

更新

在这一点上,我最好的猜测是问题不在于缓存——而是浏览器同步在 webpack 构建完全完成之前触发了刷新。

标签: javascriptgoogle-chromeflaskwebpackbrowser-sync

解决方案


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


推荐阅读