在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。