К сожалению, опция asset_cache_buster :none
не отключает добавление хэша в конец имени файла.
Как я писал несколько раз назад (на французском языке), у Compass нет способа отключить кеш-хеш, но я предлагаю решение .
В вашем конфигурационном файле (например, 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
file и a images/icons.png
. В таблицах стилей все ссылки на спрайты теперь указывают на версию без хеша.
Обязательно сохраните в файле хеш, чтобы оптимизировать время компиляции с помощью Compass.