2013-03-14 15 views
6

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の中のtoxを宣言すれば、それはうまくいくでしょう。

私はSASSを使い慣れているので、ここで簡単なものがないとすれば誰でも何か教えていただけますか?

驚いたことに、私が使用しているSassコンパイラは、エラーをスローしませんが、単純にtoPx(10)を出力CSSにレンダリングします。

編集

私はグローバルな機能を実現するためにRubyのAPIを使用する必要がありますことを示唆しているように見えるこの参照を見つけました。誰でも明確にすることはできますか?

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

答えて

0

私は私はそれはおそらくスカウトのバグだと思わせるハックの答えは、つまずきました。意図したとおりに

が、私はそれをコンパイルした後、この

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

にfile3.scssを変更し、それが働きました。次に、私は質問に記述した方法にファイルを戻しましたが、toPxの呼び出しはすべてのファイルで動作します。

関連する問題