bvdputte/kirby-fingerprint

用于在 Kirby 3 中为资产(JS/CSS)添加缓存破坏指纹的工具

安装次数: 6,530

依赖关系: 0

建议者: 0

安全: 0

星标: 15

关注者: 4

分支: 3

公开问题: 0

类型:kirby-plugin

2.2.5 2022-10-06 19:49 UTC

This package is auto-updated.

Last update: 2024-09-03 18:16:50 UTC


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>

选项

  1. 禁用插件
// config.php
return [
    'bvdputte.fingerprint.disabled' => true
];
  1. 使用参数而不是哈希文件名
// config.php
return [
    'bvdputte.fingerprint.parameter' => true
];

这在您不希望/可以处理重写(例如在 Laravel Valet 中)的情况下可能很有用。如果可能的话,请在生产环境中 不要使用参数,而是使用哈希文件名。

高级功能

对于更高级的功能,例如子资源完整性,请查看 bnomei 的 kirby3-fingerprint 插件

免责声明

本插件“原样提供”,不提供任何保证。自行承担使用风险,并在将其用于生产环境之前自行测试。如果您发现任何问题,请 创建一个新问题

许可证

MIT

不建议在任何推广种族主义、性别歧视、同性恋恐惧症、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。