Возможно ли использовать переменные в правилах SASS’ @import?

#string #variables #import #sass #concatenation

#строка #переменные #импорт #sass #конкатенация

Вопрос:

Как следует из названия, возможно ли использовать переменные в @import правилах SASS’?

В качестве примера, если мне нужно импортировать следующие файлы

 @import "./path/to/my/desired/file-1";
@import "./path/to/my/desired/file-2";
@import "./path/to/my/desired/file-3";
  

могу ли я сделать что-то подобное?

 $dir: "./path/to/my/desired/";

@import $dir   "file-1";
@import $dir   "file-1";
@import $dir   "file-1";
  

Учитывая, что предыдущее было просто примером того, чего я хочу достичь, и что этот синтаксис, конечно, не работает, есть ли какой-нибудь способ добиться этого?

Ответ №1:

Из документации Sass:

Невозможно динамически импортировать файл Sass на основе переменной; интерполяция применяется только для импорта CSS. Как таковой, он работает только с импортом url ().

Итак, да.
Вы можете импортировать файлы, используя переменную Sass, но это просто не может быть файл Sass.

Пример:

 $foo: 'bar';
@import url('#{$foo}.css'); // will import `bar.css`