导入文件中没有Sass功能

Chr*_*ris 7 sass

file1.scss

@function toPx($n) {
    @return $n + 0px;
}
Run Code Online (Sandbox Code Playgroud)

file2.scss

body {
   font-size:toPx(10);
}
Run Code Online (Sandbox Code Playgroud)

file3.scss

@import "file1.scss";
@import "file2.scss";
Run Code Online (Sandbox Code Playgroud)

file3.css的输出包含

body {
       font-size:toPx(10);
    }
Run Code Online (Sandbox Code Playgroud)

即使我直接导入到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

Chr*_*ris 1

我偶然发现了一个黑客答案,这让我认为这可能是一个 Scout 错误。

我将 file3.scss 更改为这个

@import "file1.scss";
@import "file2.scss";
body {
       font-size:toPx(10);
    }
Run Code Online (Sandbox Code Playgroud)

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