开发时浏览器不重新加载静态文件
问题:在开发测试时,修改了js,css等静态文件后,重新打开网页后浏览器依然用的是缓存的静态文件。或者版本更新时,客户端还是本地缓存的静态文件
一,生成环境解决方案:
解决方案1:
更新后修改静态文件名字和html里加载的文件名字,但是此方法用起来麻烦,要是修改错了就加载不了。
解决方案2:
在加载静态文件src
路径后面加入 “?version=版本号”
,当每次修改版本后,就可以根据不同的版本号让客户端浏览器重新加载
二,开发环境解决方案
解决方案1:
按键盘上的F12
键打开调试工具后,按Ctrl+R
键,就可以重新加载资源了,
解决方案2:
在加载静态文件src
路径后面加入 “?version={{ range(1,1000) | random }}”
,使用jinja2语法添加一个随机值,只要值范围够大,就很小机率出现重复的版本号了,此时浏览器就会判断应为不是相同的版本号而重新加载静态资源了
解决方案3:
按F12
打开调试工具,选择Network
,选择禁用缓存Disable cache
,再刷新页面.
ps:如果想生成更随机的数,可以在python里创建一个方法,生成uuid
或者时间戳
返回给模板填充到版本号里,这样就能保证不会重复了。