Php 在@import之后重写无引导变量

Php 在@import之后重写无引导变量,php,twitter-bootstrap,less,lessphp,Php,Twitter Bootstrap,Less,Lessphp,我试图在编译之前覆盖一些无引导变量,例如 // Core variables @import "variables.less"; // Trying to override @white from variables.less @white: #de1de1; // other bootstrap @imports.... 上面的代码没有覆盖@white,但是如果我在variables.less文件的末尾添加@white,它可以正常工作 看起来变量只能在同一个文件中被覆盖。但这对我来说没有

我试图在编译之前覆盖一些无引导变量,例如

// Core variables
@import "variables.less";

// Trying to override @white from variables.less
@white: #de1de1;

// other bootstrap @imports....
上面的代码没有覆盖
@white
,但是如果我在variables.less文件的末尾添加
@white
,它可以正常工作

看起来变量只能在同一个文件中被覆盖。但这对我来说没有意义,因为我认为LESS不是那样工作的。例如,其他
@import
文件(从上面的代码中省略)使用
@white
变量。如果他们能够在variables.less文件之外使用它,为什么我不能在文件之外重写它

我正在使用0.3.9来编译代码

注: 我刚刚尝试了以下代码:

// Core variables
@import "variables.less";
@import "variables-custom.less";

现在,
@white
的值取自variables-custom.less(这在某种程度上解决了我的问题)。它仍然不能解释为什么我的原始代码不能工作。如果您能回答这个问题,我们将不胜感激。

变量将按照您将导入设置为编译的顺序被覆盖(并且可用)

例如:

@import "variables.less";   //@white is set
@import "styles.less";        //UPDATED @white NOT available
@import "variables-custom.less";   //Update @white
@import "styles2.less";        //UPDATED @white available

因此,只要确保如果您不打算使用variables.less,而是使用variables-custom.less,就可以将它放在所有其他.less文件之前(当然除了variables.less)

对于这个问题,现在有一个很好的答案