导入文件中没有Sass功能

时间:2013-03-14 00:48:24

标签: sass

file1.scss

@function toPx($n) {
    @return $n + 0px;
}

file2.scss

body {
   font-size:toPx(10);
}

file3.scss

@import "file1.scss";
@import "file2.scss";

file3.css的输出包含

body {
       font-size:toPx(10);
    }

即使我直接导入到file2.scss中,我也无法使用toPx函数。如果我在file2.scss中声明toPx它会起作用。

我是SASS的新手所以假设我在这里缺少一些简单的东西,有人能告诉我什么吗?

令人惊讶的是Scout,我正在使用的sass编译器,不会抛出错误,而只是将toPx(10)渲染到输出CSS中。

修改

我发现这个引用似乎表明我需要使用Ruby API才能实现全局功能。有人能澄清吗?

http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#adding_custom_functions

1 个答案:

答案 0 :(得分:0)

我偶然发现了黑客的答案,这让我觉得这可能是一个侦察员的错误。

我将file3.scss更改为此

@import "file1.scss";
@import "file2.scss";
body {
       font-size:toPx(10);
    }

编译完成后,它按预期工作。接下来,我将文件更改回我在问题中描述的内容,现在我对toPx的所有调用都在任何文件中工作。