Suc*_*oir 9 sass less ruby-on-rails-3.1 asset-pipeline
什么是最简单的(有一种简单的方法吗?)在rails 3.1资产管道中使用Less(与Sass/Scss结合使用)?
我想加载像foo.css.less这样的文件,就像我为bar.css.scss做的那样
我找到了一些不适合我的解决方案(没有尝试过很多):https: //github.com/thisduck/ruby-less-js/issues/2
我们的想法是以干净的方式使用Twitter Bootstrap.提前致谢
bil*_*mag 10
如果你只想使用bootstrap,你可以通过在GemFile中包含'less-rails'和'less-rails-bootstrap'宝石来实现.
然后,您可以在.css.less文件中@import bootstrap:
@import "twitter/bootstrap"
Run Code Online (Sandbox Code Playgroud)
或者,您可以单独包含每个组成文件(不包括您不想要的文件):
// 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";
Run Code Online (Sandbox Code Playgroud)
如果您不想出于任何原因使用less-rails-bootstrap gem,或者您想要包含非bootstrap .less文件,则需要手动将.less路径添加到less-rails配置中.请注意,如果您的文件名以.css.less结尾,则不需要这些额外工作,因为资产管道应该为您处理该编译(只要您包含'less-rails').只有在想要在应用程序的.css.less文件中直接引用外部.less文件时,才需要执行此过程.
我用于bootstrap的设置是将*.less文件复制到vendor/assets/frameworks/twitter/bootstrap.保存文件vendor/assets/stylesheets/...会给我带来一些问题,可能是因为Rails魔术解析了我对未经处理的.less文件的导入而不知道如何处理它们(这只是我的猜测,我没有完全研究它).
一旦你的项目中有.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
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令将它们导入.css.less文件:
@import "twitter/bootstrap/reset"
@import "twitter/bootstrap/variables"
...
Run Code Online (Sandbox Code Playgroud)
use*_*836 -1
只需将您的yourlessfile.less文件放入public/stylesheets,然后在您的视图中,将其包含在
stylesheet_link_tag "/stylesheets/yourlessfile.less", :rel => "stylesheet/less"
Run Code Online (Sandbox Code Playgroud)
不要忘记在您的视图中包含 less.js。
| 归档时间: |
|
| 查看次数: |
9091 次 |
| 最近记录: |