refactor: 静态资源缓存破坏改为文件级哈希,重启不刷新未修改文件的缓存
- 启动时计算每个 JS/CSS 的 SHA-1 前 8 位作为版本号 - 文件不变则哈希不变,浏览器继续用缓存,重启零压力 - 替换全局 AssetVersion 为 assetV 模板函数,按文件路径查询哈希 - 移除 BuildPageData 中的全局版本号注入
This commit is contained in:
@ -42,7 +42,7 @@
|
||||
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="19" x2="12" y2="5"/><polyline points="5 12 12 5 19 12"/></svg>
|
||||
</button>
|
||||
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/login.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
<script src="/static/js/login.js?v={{assetV "/static/js/login.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -89,7 +89,7 @@
|
||||
<svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="19" x2="12" y2="5"/><polyline points="5 12 12 5 19 12"/></svg>
|
||||
</button>
|
||||
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/register.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
<script src="/static/js/register.js?v={{assetV "/static/js/register.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -37,6 +37,6 @@
|
||||
|
||||
{{template "layout/footer.html" .}}
|
||||
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -13,9 +13,9 @@
|
||||
{{if .OgURL}}<meta property="og:url" content="{{.OgURL}}">{{end}}
|
||||
{{end}}
|
||||
<title>{{.Title}} - MetaLab</title>
|
||||
<link rel="stylesheet" href="/static/css/common.css?v={{.V}}">
|
||||
<link rel="stylesheet" href="/static/css/common.css?v={{assetV "/static/css/common.css"}}">
|
||||
{{if .ExtraCSS}}
|
||||
<link rel="stylesheet" href="{{.ExtraCSS}}?v={{.V}}">
|
||||
<link rel="stylesheet" href="{{.ExtraCSS}}?v={{assetV .ExtraCSS}}">
|
||||
{{end}}
|
||||
<script src="/shared/static/js/utils.js"></script>
|
||||
<script src="/shared/static/js/utils.js?v={{assetV "/shared/static/js/utils.js"}}"></script>
|
||||
</head>
|
||||
|
||||
@ -202,6 +202,6 @@
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -9,6 +9,6 @@
|
||||
</div>
|
||||
</div>
|
||||
{{template "layout/footer.html" .}}
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -53,6 +53,6 @@
|
||||
|
||||
{{template "layout/footer.html" .}}
|
||||
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -62,9 +62,9 @@
|
||||
|
||||
{{template "layout/footer.html" .}}
|
||||
|
||||
<link rel="stylesheet" href="/static/vditor/dist/index.css">
|
||||
<script src="/static/vditor/dist/index.min.js"></script>
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script type="module" src="/static/js/editor.js?v={{.V}}"></script>
|
||||
<link rel="stylesheet" href="/static/vditor/dist/index.css?v={{assetV "/static/vditor/dist/index.css"}}">
|
||||
<script src="/static/vditor/dist/index.min.js?v={{assetV "/static/vditor/dist/index.min.js"}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
<script type="module" src="/static/js/editor.js?v={{assetV "/static/js/editor.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -48,10 +48,10 @@
|
||||
{{/* MD 内容安全传递给 JS */}}
|
||||
<textarea id="postMdContent" style="display:none">{{.Post.Body}}</textarea>
|
||||
|
||||
<link rel="stylesheet" href="/static/vditor/dist/index.css">
|
||||
<script src="/static/vditor/dist/method.min.js"></script>
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/shortcode.js?v={{.V}}"></script>
|
||||
<link rel="stylesheet" href="/static/vditor/dist/index.css?v={{assetV "/static/vditor/dist/index.css"}}">
|
||||
<script src="/static/vditor/dist/method.min.js?v={{assetV "/static/vditor/dist/method.min.js"}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
<script src="/static/js/shortcode.js?v={{assetV "/static/js/shortcode.js"}}"></script>
|
||||
<script>
|
||||
(function() {
|
||||
var el = document.getElementById('postContent');
|
||||
|
||||
@ -253,7 +253,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
@ -88,6 +88,6 @@
|
||||
|
||||
{{template "layout/footer.html" .}}
|
||||
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -64,9 +64,9 @@
|
||||
|
||||
{{template "layout/footer.html" .}}
|
||||
|
||||
<link rel="stylesheet" href="/static/vditor/dist/index.css">
|
||||
<script src="/static/vditor/dist/index.min.js"></script>
|
||||
<script src="/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/static/js/studio-editor.js?v={{.V}}"></script>
|
||||
<link rel="stylesheet" href="/static/vditor/dist/index.css?v={{assetV "/static/vditor/dist/index.css"}}">
|
||||
<script src="/static/vditor/dist/index.min.js?v={{assetV "/static/vditor/dist/index.min.js"}}"></script>
|
||||
<script src="/static/js/common.js?v={{assetV "/static/js/common.js"}}"></script>
|
||||
<script src="/static/js/studio-editor.js?v={{assetV "/static/js/studio-editor.js"}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{{if .CSRFToken}}<meta name="csrf-token" content="{{.CSRFToken}}">{{end}}
|
||||
<title>{{.Title}} - MetaLab 管理面板</title>
|
||||
<link rel="stylesheet" href="/admin/static/css/common.css">
|
||||
<link rel="stylesheet" href="/admin/static/css/common.css?v={{assetV "/admin/static/css/common.css"}}">
|
||||
{{if .ExtraCSS}}
|
||||
<link rel="stylesheet" href="{{.ExtraCSS}}">
|
||||
{{end}}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
</main>
|
||||
</div>
|
||||
<script src="/shared/static/js/utils.js?v={{.V}}"></script>
|
||||
<script src="/admin/static/js/common.js?v={{.V}}"></script>
|
||||
<script src="/shared/static/js/utils.js?v={{assetV "/shared/static/js/utils.js"}}"></script>
|
||||
<script src="/admin/static/js/common.js?v={{assetV "/admin/static/js/common.js"}}"></script>
|
||||
{{if .ExtraJS}}
|
||||
<script src="{{.ExtraJS}}"></script>
|
||||
{{end}}
|
||||
|
||||
@ -82,5 +82,5 @@
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<script src="/admin/static/js/posts.js?v={{.V}}"></script>
|
||||
<script src="/admin/static/js/posts.js?v={{assetV "/admin/static/js/posts.js"}}"></script>
|
||||
{{template "admin/layout/footer.html" .}}
|
||||
|
||||
Reference in New Issue
Block a user