Sass: как получить абсолютный путь файловой системы к текущему файлу .sass? - PullRequest
0 голосов
/ 23 мая 2019

Что-то вроде @current_file_path(), что дает фактический путь к файлу в файловой системе?


Моя настоящая проблема заключается в следующем.

У меня есть подмодуль с собственным файлом .scss и связанными изображениями.

Стили подмодуля включены в файл общего модуля, который не находится в том же каталоге (на самом деле он находится в родительском каталоге), например так:

@include "submodule/_style";

В файле субмодуля я хочу написать так:

    background-image: url(image.jpg);

Но я не могу. Поскольку все пути относятся к общему файлу модуля, так как только он компилируется в окончательный CSS, а не в текущий файл субмодуля. Поэтому я должен сделать так:

$submodule-dir: "submodule";
background-image: url("$submodule-dir/image.jpg");

Итак, я хочу создать функцию, которая автоматически вычисляет $submodule-dir для текущего файла. Возможно ли это?

1 Ответ

0 голосов
/ 26 мая 2019

В sass нет функции, которая получает текущий путь к файлу.

Это соответствует нормальному синтаксису CSS.Таким образом, вы должны определить путь в ваших подмоделях.
Но мы можем создать функцию, которая облегчит нам задачу:

Например:

$currentModule: "../submodule/image/";

@function setUrl($file) {
  @return url($currentModule + $file);
}

.main {
  background-image: setUrl("file.jpg");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...