我有的:
在 Rails 3.2.2 中,我有以下样式表:
应用程序/资产/样式表 | |-- application.css |-- bootstrap_and_overrides.css.less | |-- annotations.css.less |-- maps.css.less.erb `-- users.css.less.erb
前两个或多或少是系统默认的。其他的是我定义我的自定义样式的地方。
所以,application.css
像往常一样,包括所有其他文件:
*= require_self
*= require_tree .
当然bootstrap_and_overrides.css.less
,还包括 Twitter Bootstrap 以及其他一些自定义的 LESS 变量。
@import "twitter/bootstrap/bootstrap";
@import "twitter/bootstrap/responsive";
// other stuff
@brown_text: #332820;
什么不起作用:
现在,在 中annotations.css.less
,我想使用@brown_text
,但它给了我:
variable @brown_text is undefined
我认为这是因为没有对annotations.css.less
定义变量的“主”文件的引用。似乎annotations.css.less
是先编译的——请注意,我目前处于开发环境中。
那么,我怎样才能使用我的自定义 LESS 变量,并使它们在其他样式表文件中可用?我目前的“修复”是将我所有的自定义样式移到bootstrap_and_overrides.css.less.erb
中,这看起来一点也不干净。
什么也不起作用:
只import
使用 LESS 文件是不可能的,因为它们使用 Rails 的资产路径助手。并且导入 ERB 文件也是不可能的,因为该@import
语句不会找到该文件,因为它需要一个.less
后缀。