Sass:如何获取当前.sass文件的文件系统的绝对路径?

时间:2019-05-23 20:43:35

标签: sass

@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 :(得分:0)

sass中没有获取当前文件路径的功能。

它遵循普通的CSS语法。 因此,您必须在子模型中定义路径。
但是我们可以创建一个函数来简化我们的工作:

像这样:

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

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

.main {
  background-image: setUrl("file.jpg");
}