如何将LESS @import ...转换为LESS变量?

时间:2012-10-09 03:59:29

标签: twitter-bootstrap less lessphp

我使用http://leafo.net/lessphp/

中的lessphp

某些文件根据条件不应编译

style.less

我有:

@import "@{bootstrap}";
@import "layout.less";
@import "grid.less";
@import "color.less";
@import "@{fontawesome}";
@import "@{vars}"; 

和更少的PHP

if($bootstrap){
    $less->setVariables(array(
      "bootstrap"   => "'bootstrap.less'",
      "fontawesome" => "'font-awesome.less'",
      "vars"        => "'variables.less'"
    ));
}

除了$ bootstrap不存在

之外,这种方法很有效

我的css文件最终以

结束
@import "";@import "";@import "";@import "";...

在头上,

如何将其转换为实际的lessphp var

@import "bootstrap.less";

并使用我的较少文件,如

@{bootstrap} 

代替

@import "@{bootstrap}";

所以当boostrap不存在时,我不会在css文件中以空的@import结束。

我试过

 "bootstrap"    => "'@import "bootstrap.less";'"

但它没有返回任何东西

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

我看不出有多少变量可以用来管理那样的导入。即使较少的编译器在编译期间正确地解析了字符串,它也很可能不会触发实际的导入。

如果将完全管理导入的逻辑留给PHP,您可以根据配置生成一个import语句列表并解析它们,而不需要在less文件中导入。