css – 如何从指南针生成的精灵图像文件名中删除哈希?

指南针使用chunky_png渲染精灵.它向文件的末尾添加一个哈希值,以强制缓存下载新的图像精灵.有没有办法把这个缓存关闭

解决方法

不幸的是,asset_cache_buster:none选项不禁止将哈希添加文件名的末尾.

就像我之前写的(法语),Compass没有办法禁用缓存哈希破解,但是我建议a solution.
在您的配置文件(例如config.rb)中添加以下行:

# Make a copy of sprites with a name that has no uniqueness of the hash.
on_sprite_saved do |filename|
  if File.exists?(filename)
    FileUtils.cp filename,filename.gsub(%r{-s[a-z0-9]{10}\.png$},'.png')
  end
end

# Replace in stylesheets generated references to sprites
# by their counterparts without the hash uniqueness.
on_stylesheet_saved do |filename|
  if File.exists?(filename)
    css = File.read filename
    File.open(filename,'w+') do |f|
      f << css.gsub(%r{-s[a-z0-9]{10}\.png},'.png')
    end
  end
end

现在,使用指南针清除删除生成文件,并使用罗盘编译重新启动编译.
您可以获取例如images / icons-scb1e5456d5.png文件和images / icons.png文件.在样式表中,所有对sprite的引用现在都指向没有哈希的版本.

确保文件具有提供的哈希值,以通过Compass优化编译时间.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效