Я чувствую себя немного глупо, но оказывается, что это уже отлично работает.
Проблемы возникают только при включении обычных файлов sass, а не партиалов (pirate-icons.scss = normal,_pirate-icons.scss = частично).Причина, по которой это не работает, когда эти файлы не являются частичными, заключается в том, что компас компилирует их отдельно, вне области действия файла, в который они включены, что может привести к несоответствиям и ошибкам, поскольку эти таблицы стилей больше не знают о переменных спрайтаи mixins, когда вы пытаетесь их использовать.
Например, когда делаете
$icon-sprite-dimensions: true;
@import "icon/*.png";
@include all-icon-sprites;
// Include partials
@import "pirate-icons";
@import "ninja-icons";
@import "cowboy-icons";
Если бы cowboy-icons был cowboy-icons.scss, он бы скомпилировался один раз в объемефайл all-icons.scss и один раз за пределами области действия этого файла.При компиляции вне этой области любые попытки использовать один из миксов, таких как @include icon-sprite(spurs)
, могут вызвать ошибку, потому что он больше не знает, что это значит.
tl; dr
просто сделатьубедитесь, что пиратские иконки _pirate-icons.scss
, а не pirate-icons.scss
, и должны иметь желаемый эффект.