如何转换 少 @import..到 LESS 变量



我正在使用来自 http://leafo.net/lessphp/的lessphp

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

风格上,无

我有:

@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";'"

但它没有返回任何东西

任何帮助不胜感激

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

如果将管理导入的逻辑完全留给 PHP,则可以根据配置生成导入语句列表并解析它们,而无需在较少的文件中进行导入。

最新更新