我的less文件取决于许多变量,例如:
@fontRegular: "AvenirNextCondensed-Regular";
类使用这些变量,如下所示:
.thisClass {
font-family: @fontRegular;
}
如您所料,我需要即时重新设定主题。
主题本身重新定义了这些变量,如下所示:
@fontRegular: "HelveticaNeue";
如何减少重新解析所有内容的需求(我的意思是减少文件数量),以及如何首先更改变量?
最佳答案
只需从您的JavaScript中调用更少的代码(在这种情况下,它是从我的控制器中调用),如下所示:
less.modifyVars(
$scope.config.fontStyleHelveticaNeue? {
'@fontRegular': "HelveticaNeue",
'@fontUltraLight': "HelveticaNeue-UltraLight",
'@fontDemiBold': "HelveticaNeue-CondensedBold"
}
: {
'@fontRegular': "AvenirNextCondensed-Regular",
'@fontUltraLight': "AvenirNextCondensed-UltraLight",
'@fontDemiBold': "AvenirNextCondensed-DemiBold"
}
);
在上面的示例中,所有@前缀单词都是我要更新的较少变量(实际上,其中有两个设置)。
Less会自动重建所有CSS。