站点日志:上线52天,页面静文件名加hash值,解决静态文件缓存问题

2025年08月02日,昨天刚刚改完一大版本,今天就将前端静态资源加载给换成了hash的方式。之前一直没动,是因为访问量不大,感觉没必要为了几个缓存的问题去处理。直到今天用手机浏览页面,由于之前都访问过我站点页面,发现mermaid 图表不能正常显示。但是pc页面完全没问题,模拟移动端也能正常显示。就怀疑是缓存问题。顺便今天把机制也升级完。

功能升级

静态资源文件名引入 contenthash

引入了带contenthash的文件名.jpg

页面引入 css、js 资源文件,文件名加入 hash 值,保证每次修改后,上线无缓存问题。

涉及后端服务项目,改成 ViewBlock 方式加载页面的静态资源,所有静态资源和页面的映射关系,统一放到配置文件管理。

前端项目,终于引入了环境识别,不同环境启用不同的配置。开发环境不打 contenthash,启动热加载,不做文件最小化处理。生产环境,则需要开启各种优化。

服务端 markdown 渲染部分代码升级

处理过缩进的html代码.jpg

生成出来的 html 代码,没有缩进,查看源代码时候,显得很难看。当然这个各个站都存在,也算不上什么问题,没人会看源码。搜索引擎,也不关注代码格式问题。单纯只是个人觉得难看。于是将自定义的部分代码缩进的逻辑加了进去,可以保证我自定义渲染的 html 可以正常缩进。但是由于跟 commonmark 还未能有好的配合,导致起始代码缩进位置无法确定,所以,还是不能达到我要的效果。

另外,还有之前说过的,服务端的html格式,highlight、katex、mermaid 是有要求的,所以某些换行符,还不得不去掉。反正怎么看还是别扭。别问我为什么不改 js,比起前端来,我认为还是改后端拿手点。

页面无法折行的部分.jpg