在rails 3.1资产管道中使用Less(与Sass/Scss结合使用)最简单的方法是什么?如何在rails 3.1应用程序中使用Less?
我想加载像foo.css.less文件一样,我会为bar.css.scss
我发现了一些靠不住的解决方案,不为我工作(没有尝试过很多)这样做: https://github.com/thisduck/ruby-less-js/issues/2
这个想法是以一种干净的方式使用Twitter Bootstrap。 在此先感谢
在rails 3.1资产管道中使用Less(与Sass/Scss结合使用)最简单的方法是什么?如何在rails 3.1应用程序中使用Less?
我想加载像foo.css.less文件一样,我会为bar.css.scss
我发现了一些靠不住的解决方案,不为我工作(没有尝试过很多)这样做: https://github.com/thisduck/ruby-less-js/issues/2
这个想法是以一种干净的方式使用Twitter Bootstrap。 在此先感谢
只要把你的yourlessfile.less
文件到public/stylesheets
,那么在您看来,并附
stylesheet_link_tag "/stylesheets/yourlessfile.less", :rel => "stylesheet/less"
别忘了在您的视图less.js。
从this blog post这家伙创造了Less Rails宝石。
它使得在Rails 3.1项目中轻松实现更少。
如果您只想使用引导程序,您可以通过在GemFile中包含'less-rails'和'less-rails-bootstrap'gem来实现。
然后,你可以在你.css.less文件@import引导:
@import "twitter/bootstrap"
或者,您可以包括每个组成单独的文件(不包括那些你不想要的):
// Reset
@import "twitter/bootstrap/reset";
// Core variables and mixins
@import "twitter/bootstrap/variables";
@import "twitter/bootstrap/mixins";
// Grid system and page structure
@import "twitter/bootstrap/scaffolding";
// Styled patterns and elements
@import "twitter/bootstrap/type";
@import "twitter/bootstrap/forms";
@import "twitter/bootstrap/tables";
@import "twitter/bootstrap/patterns";
如果您不希望使用less-rails-bootstrap gem出于任何原因,或者您要包含非bootstrap .less文件,则需要手动将less路径添加到less-rails配置。请注意,如果您的文件名以.css.less结尾,则无需额外的工作,因为asset-pipeline应该为您处理该编译(只要您包含'less-rails')。只有在您的应用程序的.css.less文件中直接引用外部.less文件时才需要执行此过程。
我用于引导的安装程序是将* .less文件复制到vendor/assets/frameworks/twitter/bootstrap
。保留vendor/assets/stylesheets/...
中的文件引起了一些问题,可能是由于Rails魔术将我的导入解析为未处理的无文件文件并且不知道如何处理它们(这只是我的猜测,我没有充分考虑它) 。
一旦你的项目中有.less文件,你需要告诉less-rails在哪里找到它们。通过将以下内容放入您的application.rb
中来实现这一点。
YourApp::Application.configure do
config.less.paths << File.join(Rails.root,'vendor','frameworks')
# Should be set to true in production.
config.less.compress = false
end
你可以将它们导入.css。减档利用:
@import "twitter/bootstrap/reset"
@import "twitter/bootstrap/variables"
...
我用你的第二种方法,它绝对有效!谢谢@billmag –
不同的方法当然可以,这是一个干净而简单的解决方案的讨论,但较少的文件不走通资产管道。我希望它被链轮处理,并与其余部分一起压缩... – Sucrenoir
这是问题标题的一个很好的答案,但不是问题的详细信息。搜索谁看到标题的人很方便。 –