为了账号安全,请及时绑定邮箱和手机立即绑定

sass构建CSS时,如何给文件随机加版本号,以防止老文件缓存?

sass构建CSS时,如何给文件随机加版本号,以防止老文件缓存?

慕婉清6462132 2019-04-14 10:36:06
用SASS的compass每次编译后生成的文件都是style.css这样用户PC客户端其实是会缓存老的style.css所以用户不会立即看到更新后的样式怎么样给加一个版本号啊,比如:style.css?v=15463124或者随机文件名,比如:545wef1546fcw.css手动改不合理,太麻烦,怎么自动化啊,就是每次编译后自动生成不同版本号或者随机文件名?求指教!
查看完整描述

2 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

假设是在SASS编译阶段生成随机文件名,你在模板文件如何引用一个确定的静态文件资源呢?
所以应该在发布阶段去解析模板文件中的静态资源,采用一定策略来生成文件名或版本号,我一般采用两种办法:
1.在模板文件引用静态资源的时候做处理,加一个过滤器
2.发布时检索文件中的link和script,改变文件名
至于随机数的策略就无所谓了,时间戳,文件MD5之类的都行,时间戳的好处是简单暴力,坏处是客户端的缓存在每次发布后都会无效,MD5的方法会更有效,但是这意味着发布时需要前端和后台的模板代码最好在一台服务器上,不然读取文件做MD5运算会很麻烦
另外就是如果不是跟后缀的模式,需要配置nginx(假设你的服务器是nginx)或者做一个controller来专门解析资源了。
                            
查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 332 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信