我有一个基于 Jekyll 引导的博客,托管在 Github 页面上。
我的问题是:每次我在网页上更改某些内容时,我都必须强制重新加载页面(CTRL + R)才能看到更改。
Jekyll 或我的浏览器似乎没有意识到有更新的版本可供发送。
如何配置 Jekyll 以更好地处理这个问题?
我有一个基于 Jekyll 引导的博客,托管在 Github 页面上。
我的问题是:每次我在网页上更改某些内容时,我都必须强制重新加载页面(CTRL + R)才能看到更改。
Jekyll 或我的浏览器似乎没有意识到有更新的版本可供发送。
如何配置 Jekyll 以更好地处理这个问题?
有几个 jekyl 插件可以处理资产缓存破坏。
https://github.com/ixti/jekyll-assets/
http://matthodan.com/2012/11/22/jekyll-asset-pipeline.html
我尝试了 jekyll-assets ,它非常好,因为它可以管理所有类型的具有 md5 版本号的资产。
在我使用在编译时将字符串附加到我的 css 链接之前。
<link href="{{ ASSET_PATH }}/css/global.css?{{ site.time | date:'%Y%m%d%U%H%N%S' }}" rel="stylesheet">
您可以将这些元标记添加到您的 html 以禁用页面的浏览器缓存。
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
如果您想绕过静态资源上的缓存,您可以在每次推送文件时更改文件名。这将使浏览器获取新资源,因为它不会知道任何关于具有新名称的文件的信息。
例如:
旧文件名:project.css
新文件名:projectv01.css
或者任何你想要的。