2016-10-30 2 views
0

私はSCSSの背景を持っていませんが、私は既存のSCSSを少し変更して再コンパイルしたいと思います。しかし、ドル記号付きの変数が出力CSSに表示されることがわかりました。私の変更を破棄しても、出力CSSは元のものと一致しません。例えばSCSSが部分的にコンパイルされ、CSSに変数が残っていますか?

@-webkit-keyframes move-up {... 

予想元の出力であるが、

@-webkit-keyframes $animation-name {... 

は、私の出力です。

私は、SCSSファイルをコンパイルするために正しいコマンドを使用しなかったか、またはSCSSファイルが古いコンパイラ用に記述されているためだと思います。

は、私は次のコマンドを(私は各試験の前に任意の出力をオフに)試してみました:

sass --scss main.scss main.css 
sass --scss --update main.scss:main.css 
sass --scss --update . 

main.scssは別のSCSSファイルをインポートしているので、私はまた、メインにdepedentのSCSSファイルの内容をコピーしてみました。 scss。これは何の違いもありませんでした。

答えて

1

が補完されていないため、変数名の代わりに値が表示されるのは、その値が代わりに値として使用されるからです。

あなたは補間SASSなければ

@-webkit-keyframes move-up { .... 

にコンパイルさ

//Assuming a variable $animation-name: move-up; 
@-webkit-keyframes #{$animation-name} { .... 

を書くべきでは$animation-nameは、アニメーションの名前として使用されることを意図し実際の名前であると考えています。

+0

これは機能します。ありがとうございました!私はまだ、このSCSSのオリジナル作者がどのようにしてコンパイルすることができたのだろうか?補間を必要としないコンパイラはありますか? – user31039

+0

これはエラーではないため、コンパイルされます。コードの行には、悲鳴とは異なる意味があります。変数が補間されると、 '#{$ animation-name}'はその変数に格納されている値を代わりに使用するように指定していますが、補間なしでは、 '$ animation-name'はテキストをそのまま使用します。しかし、CSSが_value_を期待するところで変数名を指定すると、補間は必要ありません。 'セレクタ{color:$ color_value}' –

関連する問題