Вариант варианта 2 будет работать.Если у вас есть что-то вроде этого:
app/assets/stylesheets/pancakes_house.css.less.erb
И вы require
это в свой файл application.css
.Затем pancakes_house
сначала проходит через ERB, и этот вывод проходит через процессор LESS, и все, что из этого получается, попадает в ваш CSS.Помещение ERB в ваш SCSS может показаться немного странным, но, эй, это сработает и выполнит работу без особых странностей.
Так что вы должны быть в состоянии найти необходимые методы для создания вашего кеша.перебирая пути к изображениям через ERB.
Я пробовал это только с файлом Less, но он должен работать и с .css.scss.erb
.
Кроме того, вы также можете добавить ваши собственные функции для SASS :
Методы в этом модуле доступны из контекста SassScript.Например, вы можете написать
$color = hsl(120deg, 100%, 50%)
, и он будет вызывать Sass::Script::Functions#hsl
.
Есть даже несколько инструкций по написанию ваших собственных функций немногодалее в руководстве.Однако я не уверен, как заставить Sprockets загружать ваши патчи Sass::Script::Functions
, поэтому я не могу назвать это практическим решением;кто-то с более сильным Sprocket Fu, чем я, мог бы заставить этот подход работать, и я бы назвал это более элегантным, чем ERBified SCSS.