管理网站静态文件版本的方案
静态文件的发布和网站动态文件的发布是分开的,静态文件上传到CDN后,就直接把相应地址提供给后端开发人员,他们不关心静态文件放在哪里,文件什么版本。
如果静态文件有修改,前端人员会处理好后直接上传CDN(比较频繁),我们现在还没有一个方案来解决修改动态文件里的链接地址,除非手动去修改动态文件里的内容,让动态文件也去发布一下(动态文件的发布比较繁琐)。
可能有朋友想增加统一的配置信息,但这样有个问题,不能针对某个文件单独处理。
现在用的 tornado 框架里有个的 static_url() 专门用来引用静态文件
<link href="{{ static_url(\'css/bootstrap.css\') }}" rel="stylesheet">
它通过 get_version() 建立一个列表来存储静态文件的 md5_hash 前5位并当作签名来生成引用地址
<link href="css/bootstrap.css?v=1db64" rel="stylesheet">
当代码更新后(这里需要手动或者自动 reload 一次)检测到文件有改动, hash值就更新成了新的
<link href="css/bootstrap.css?v=d8964" rel="stylesheet">
来抢沙发了
来关注一下,值得学习