kanta's spike

キャッシュを回避するためにCSSやJavascriptなどのリソースファイルのURLにハッシュを付けたい。

解決策

resources.Fingerprint を使う。

以下のように、リソースファイルを取得時に、resources.Fingerprint を適用する。

リソースファイルのURLに、リソースファイルのハッシュ値が付与される。

利用例

{{ $syntaxCss := resources.Get "css/syntax.css" | resources.Fingerprint -}}
<link rel="stylesheet" href="{{ $syntaxCss.RelPermalink }}">

実行結果

<link rel="stylesheet" href="http://localhost:1313/portfolio/css/syntax.d59352fe2c71602c0598c94b3cdaaef7d6553d94438605aefc2b925940f21d6a.css">

ハッシュ関数の変更方法

resources.Fingerprintで使用されるハッシュ関数はデフォルトがsha384である。引数に指定することで、他にsha512md5に変更できる。

{{ $syntaxCss := resources.Get "css/syntax.css" | resources.Fingerprint "md5" -}}
<link rel="stylesheet" href="{{ $syntaxCss.RelPermalink }}">

参考

作成日: 2022/09/04