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
答案 0 :(得分:0)
我偶然发现了黑客的答案,这让我觉得这可能是一个侦察员的错误。
我将file3.scss更改为此
@import "file1.scss";
@import "file2.scss";
body {
font-size:toPx(10);
}
编译完成后,它按预期工作。接下来,我将文件更改回我在问题中描述的内容,现在我对toPx的所有调用都在任何文件中工作。