我正在使用我的Rails应用程序中的.scss
文件以及之前使用的文件:
@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;
答案 0 :(得分:2)
看起来你不能:
导入可能包含#{}插值,但仅限于某些限制。根据变量动态导入Sass文件是不可能的;插值仅适用于CSS导入。因此,它只适用于url()导入。“
请参阅http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#import
这可能是因为它试图通过计算依赖关系来最小化导入之间的重新编译 - 我认为这对于动态导入变得非常困难。
我建议每个主题都有一个主文件并导入它。