bvdputte / kirby-fingerprint
用于在 Kirby 3 中为资产(JS/CSS)添加缓存破坏指纹的工具
2.2.5
2022-10-06 19:49 UTC
Requires
README
这是一个小工具,用于向 Kirby CMS 中的资产(JS/CSS)添加缓存破坏指纹。尽可能多地重用 Kirby 中的 css()
和 js()
助手。
当文件更新时,会自动将新的哈希值添加到文件名中;这样浏览器缓存就会被破坏。
安装
- 将 master.zip 解压为文件夹
site/plugins/kirby-fingerprint
或 git submodule add https://github.com/bvdputte/kirby-fingerprint.git site/plugins/kirby-fingerprint
composer require bvdputte/kirby-fingerprint
Apache .htaccess 规则
💡 在您的 .htaccess
文件中添加以下内容
# Bust browsercache on CSS & JS files
# More info: https://github.com/bvdputte/kirby-fingerprint
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.([0-9a-z]{32})\.(js|css|png|jpe?g|gif|svg|ico)$ $1.$3 [L]
紧接在 RewriteBase
定义之后放置。
Nginx 规则
将以下内容添加到您的虚拟主机设置中
location ~ (.+)\.(?:[0-9,a-z]+)\.(js|css)$ {
try_files $uri $1.$2;
}
使用方法
css("assets/css/styles.css"); // Output: <link href="//:3000/assets/css/styles.db5796ea5bf253bb7be3526eb083e068.css" rel="stylesheet"> js("assets/js/scripts.js"); // Output: <script src="//:3000/assets/js/scripts.1e9dd0c95e7b12ce96729501c7585deb.js"></script>
选项
- 禁用插件
// config.php return [ 'bvdputte.fingerprint.disabled' => true ];
- 使用参数而不是哈希文件名
// config.php return [ 'bvdputte.fingerprint.parameter' => true ];
这在您不希望/可以处理重写(例如在 Laravel Valet 中)的情况下可能很有用。如果可能的话,请在生产环境中 不要使用参数,而是使用哈希文件名。
高级功能
对于更高级的功能,例如子资源完整性,请查看 bnomei 的 kirby3-fingerprint 插件。
免责声明
本插件“原样提供”,不提供任何保证。自行承担使用风险,并在将其用于生产环境之前自行测试。如果您发现任何问题,请 创建一个新问题。
许可证
不建议在任何推广种族主义、性别歧视、同性恋恐惧症、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。