1

.scssRailsアプリケーションでファイルを使用していて、以前は次のものを使用していました。

@import "bootswatch/superhero/variables";
@import "bootswatch/superhero/bootswatch";

しかし、私は次のようなことをしたいと思います:

$theme: 'superhero';
@import "bootswatch/#{$theme}/variables";
@import "bootswatch/#{$theme}/bootswatch";

残念ながら、これは機能しません。変数は埋め込まれていません。application.css.scssテーマを変更したいときに何度も変更する必要がないようにするには、どうすればよいですか?

成功しない他の試み

@import "bootswatch/" + $theme + "/variables";

$theme_variables: "/bootswatch/#{$theme}/variables";
@import $theme_variables;
4

1 に答える 1

2

できないようです:

インポートには #{} 補間が含まれる場合がありますが、特定の制限があります。変数に基づいて Sass ファイルを動的にインポートすることはできません。補間は CSS インポート専用です。そのため、url() インポートでのみ機能します。"

http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#importを参照してください

これはおそらく、依存関係を計算することにより、インポート間の再コンパイルを最小限に抑えようとするためです。これは、動的インポートでは非常に困難になると思います。

テーマごとにメイン ファイルを作成し、それをインポートすることをお勧めします。

于 2012-12-03T22:52:08.703 に答える