指南针使用chunky_png渲染精灵。它将哈希添加到文件的末尾以强制缓存下载新的图像精灵。有没有办法关闭此缓存关闭?
不幸的是,该asset_cache_buster :none选项不会禁用将哈希添加到文件名的末尾。
asset_cache_buster :none
就像我几天前用法语写的一样,Compass无法禁用缓存哈希无效,但是我提出了一个解决方案]。 在您的配置文件(例如config.rb)中,添加以下几行:
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
现在,用于compass clean删除生成的文件并使用重新启动编译compass compile。 您获取例如一个images/icons-scb1e5456d5.png文件 和 一个images/icons.png文件。在样式表中,所有对精灵的引用现在都指向没有哈希的版本。
compass clean
compass compile
images/icons-scb1e5456d5.png
images/icons.png
确保保留文件中提供的哈希值,以优化Compass的编译时间。