разрушение кеша - PullRequest
       10

разрушение кеша

2 голосов
/ 18 февраля 2012

Есть ли способ выполнить очистку кеша файлов в SASS?Кажется, возможно использовать компас для этого ответа здесь: SASS Image CSS Cache Busting (через компас)

, но я не нашел никакого способа сделать это, просто используя SASS.Есть ли способ получить SASS, чтобы получить информацию о модификации файла из файловой системы и добавить к пути к изображению?

И я бы предпочел не добавлять строки запроса - скорее, я думаю, что это лучшая методология.

1 Ответ

1 голос
/ 28 сентября 2012

Спасибо Рассвету за то, что он включился после всего этого времени!С тех пор я понял это, но забыл, что опубликовал здесь об этом.

У меня есть пользовательский rb-файл, на который я ссылаюсь, когда запускаю sass через командную строку - вот так:

sass --update sass:css -r file_mod.rb

в file_mod.rb, у меня есть следующая функция ruby, которая делает свое дело:

require 'sass'

module GETMODINT
def file_url(staticFilePath,staticHost,filePath)
    assert_type filePath, :String
    filePath = filePath.value #get string value of literal
    staticFilePath = staticFilePath.value 
    staticHost = staticHost.value 
    modtime = File.mtime(filePath).to_i
    #Sass::Script::Number.new(modtime)

    fileBaseName = File.basename filePath, '.*'
    fileDir = File.dirname(filePath).sub(staticFilePath,'')
    fileExt = File.extname(filePath)
    path = "url('#{staticHost}#{fileDir}/#{fileBaseName}.#{modtime}#{fileExt}')"
    return Sass::Script::String.new(path)
end
Sass::Script::Functions.declare :modInt, [:filePath]
end

module Sass::Script::Functions
    include GETMODINT
end

Затем, в sass mixin, я просто ссылаюсь на функцию file_url, передавая ей параметры, необходимые для построениярезультат:

@mixin backgroundImage($path, $position:0 0, $repeat:no-repeat) {
background: {
    image:file_url($staticFilePath,$staticHost,$path);
    position:$position;
    repeat:$repeat;
}   
} 

В моем случае я использую его для построения пути фонового изображения CSS.Должны быть легко изменены в соответствии с другими целями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...