1

我正在尝试使用 Bootstrap CSS 创建具有多种配色方案的 CSS 主题。每个配色方案都构建为boostrap.less文件的修改版本:bootstrap-red.lessbootstrap-green.less等。

每个 Bootstrap 版本所做的是导入所有默认的 Bootstrap 文件,然后是适当的调色板,然后是主题的核心结构。例如bootstrap-red.less

@import "reset.less";
@import "variables.less";
@import "mixins.less";

/* and so on... until */

// Custom code
@import "elements.less";
@import "_mytheme-color-scheme-red.less";
@import "_mytheme-core.less";

_mytheme-color-scheme-red.less中,我定义变量,例如:

@bannerBackground: #59a449;

但是,编译时bootstrap-red.less我得到:

NameError: variable @bannerBackground is undefined in /.../css/less/_mytheme-core.less

为什么会这样?我原以为它会起作用,因为variables.less文件中的变量以相同的方式定义,并且可以在后续文件中使用。

我查看了类似的问题并尝试了不同的方法,但无济于事:

  • @import"_mytheme-color-scheme-red.less"在文件中输入-不可行_mytheme-core.less;此外,Bootstrap 并没有这样做,但它仍然有效。
  • 在没有 BOM 的情况下以 UTF-8 编码文件 - 不起作用,结果相同。

在我看来,该文件_mytheme-color-scheme-red.less根本没有被处理。就好像 Less 编译器只是跳过它并直奔_mytheme-core.less如何解决这个问题?

4

2 回答 2

0

固定的。问题毕竟是编码:LESS 编译器跳过了所有错误编码的文件。显然,即使您告诉 Sublime Text 也无法在没有 BOM 的情况下正确保存为 UTF-8;我的文件都是 ANSI 或 UTF-8BOM。为了将它们转换为纯 UTF-8,我不得不求助于 Notepad++。我现在觉得很傻。

来源:即使导入了“variables.less”,变量名称错误“未定义”

于 2012-09-24T14:02:09.650 回答
0

我在编译 Bootstrap 2 时遇到了与 LessCss 2.x 类似的错误,降级到 LessCss 1.7.5 为我解决了这个问题。

于 2017-06-29T20:33:45.193 回答