在Rails 3.1 App中使用Less

我刚刚将我的应用程序升级到最新版本的rails(3.1),我想将Twitter的Bootstrap集成到我的应用程序中,但它使用的是LESS而不是SASS,这是Rails 3.1默认使用的。

如何配置Rails以使用Less而不是Sass?

正如apneadiving指出的那样,Sprockets(Rails 3.1用于其资产管道)支持LESS。

要配置Rails应用程序以支持LESS,您可以将gem添加到Gemfile的资产组:

group :assets do gem 'less' end 

然后,运行bundle install以获得less gem及其依赖项( libv8 ,包括libv8 gem,可能需要一段时间才能安装)。

现在只需将.css.less扩展名与./app/assets/stylesheets目录中的样式表一起使用./app/assets/stylesheets 。 请注意,如果您的LESS文件中存在任何语法错误,则不会收到任何有用的消息(这会使我绊倒一秒钟)。

对于Rails 3.1,我们现在有@metaskill的less-rails gem,它提供了特定于Rails的助手等。 这是相当新的,但似乎积极维护。

您还可以使用less-rails-bootstrap gem(由同一作者)来引入引导库。

 gem 'less-rails' gem 'less-rails-bootstrap' 

另请参阅我在这里关于在Rails上使用Bootstrap及其mixins的post。

挺直的,请看这里的原始文档 :

造型少

LESS使用动态行为扩展CSS,例如变量,mixins,操作和函数。

如果您的应用程序可以使用less gem,则可以使用LESS在Sprockets中编写CSS资源。 请注意,LESS编译器是用JavaScript编写的,在撰写本文时,较少的gem依赖于在Ruby中嵌入V8 JavaScript运行时的therubyracer。

要使用LESS编写CSS资源,请使用扩展名.css.less。