Скомпилировать файлы SASS в отдельной папке с относительными активами/URL-адресами?

У меня есть собственный проект Grunt/Compass/SASS с файлом config.rb со следующими настройками:

http_path = "/"
css_dir = "stylesheets"
sass_dir = "sass"
add_import_path "./bower_components/slick-carousel/slick"

Как вы могли догадаться, проблема здесь в slick-carousel, который я пытаюсь скомпилировать вместе с другими моими sass-файлами. Без этого компонента работает нормально. Папка slick содержит следующие файлы:

./ajax-loader.gif
./config.rb
./fonts
./fonts/slick.eot
./fonts/slick.svg
./fonts/slick.ttf
./fonts/slick.woff
./slick-theme.css
./slick-theme.scss
./slick.css
./slick.js
./slick.min.js
./slick.scss

При компиляции slick-theme.scss я получаю предупреждения о том, что не может найти файлы, на которые ссылаются относительные URL-адреса.

WARNING: 'slick.woff' was not found (or cannot be read) in /project-root/fonts

Есть ли способ указать компилятору Compass/SASS использовать «текущий» файл SASS в качестве основы для относительных путей? Значит, вместо этого он будет искать в /project-root/bower_components/slick-carousel/slick/fonts?


person user2602152    schedule 09.06.2015    source источник


Ответы (1)


Slick.js имеет свои собственные переменные Sass для обработки URL-адресов шрифтов. Таким образом, вы должны правильно назначить правильный путь к этой переменной следующим образом:

// Fonts
$slick-font-path: "./bower_components/slick-carousel/slick/fonts/";

Вы можете проверить все переменные Sass slick здесь

person diego.fontenelle    schedule 04.09.2015
comment
Чтобы прояснить это для других, переменные в Slick определены как !default. Это означает, что значение по умолчанию из Slick не будет перезаписано, если вы установите эту переменную перед импортом sass-файлов из Slick. - person user2602152; 04.09.2015