我有一个global.less
文件,它调用variables.less
文件,然后调用component.less
文件。
我希望在组件文件中设置默认变量,并且能够在变量文件中覆盖它们。
但组件文件位于less文件之后,因此默认组件变量将覆盖variables.less
文件中设置的变量。
Less中是否有任何选项可以像Sass的!default
关键字一样使用?
答案 0 :(得分:3)
@ seven-phases-max所述的解决方案是在我的组件文件之后移动variables.less文件。 e.g。
文件
在global.less文件中,按以下顺序调用这两个文件
@import "component.less";
@import "variables.less";
在component.less文件中,您可以拥有默认变量@color: red
和以下css
body {
background-color: @color
}
如果编译前面的代码,正文将具有红色的背景颜色 - 因为它使用了组件文件中的默认变量。
在variables.less文件中,您可以覆盖变量@color: blue
现在,当编译较少的文件时,body标签的背景颜色将为蓝色而不是红色 - 重新声明@color
文件中的变量variables.less
会覆盖默认的@color
变量在components.less
文件中