alvvi
@alvvi
export default apathy;

Почему gulp-sass ругается при сборке кастомного бутстарапа c includePaths?

Пытаюсь скомпилировать кастомную версию бутстрапа используя scss исходники.
В данный момент это происходит следующим образом
// Core variables and mixins
@import "../../vendor/bootstrap/scss/variables"
@import "../../vendor/bootstrap/scss/mixins"
@import "../../vendor/bootstrap/scss/custom"

// Reset and dependencies
@import "../../vendor/bootstrap/scss/normalize"
@import "../../vendor/bootstrap/scss/print"

// Core CSS
@import "../../vendor/bootstrap/scss/reboot"
...

Все компилируется прекрасно, но хотелось бы избавиться от длинных путей и делегировать это компилятору == gulp-sass, добавляю в gulp-sass опцию includePaths:
...
.pipe(sass({
  outputStyle: 'expanded',
  includePaths: ['app/vendor/bootstrap/scss']
}))
...

и импортирую теперь так
@import "variables"
@import "mixins"
@import "custom"
...

Вроде бы все хорошо, импорты идут, но как только в одном из импортируемых файлов встречается миксин, gulp-sass выдает ошибку
[19:46:59] Starting 'styles'...
[19:46:59] gulp-notify: [Styles] app\vendor\bootstrap\scss\_reboot.scss
Error: no mixin named hover-focus

       Backtrace:
        app/vendor/bootstrap/scss/_reboot.scss:167
        on line 167 of app/vendor/bootstrap/scss/_reboot.scss
>>   @include hover-focus {
   -----------^

[19:46:59] Finished 'styles' after 268 ms

Вопрос: почему это происходит? Почему файлы импоритруемые после миксинов не видят эти самые миксины?
  • Вопрос задан
  • 1447 просмотров
Решения вопроса 1
alvvi
@alvvi Автор вопроса
export default apathy;
Эх, как всегда проблема решалась самым банальным, хоть и крайне неочевидным способом. =\
Необходимо было явно задать расширение файла.
// Core variables and mixins
@import "variables.scss"
@import "mixins.scss" <== 
@import "custom"

// Reset and dependencies
@import "normalize"
@import "print"

// Core CSS
@import "reboot"
@import "type"
...

Хотя до сих пор не понимаю, почему это так важно для компилятора, за объяснение буду благодарен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы