Aks*_*wat 18 sass ruby-on-rails-3.1 sprockets
我正在使用SASS在Rails 3.1(sass-rails 3.1)应用程序中加载样式表.例如,app/assets/stylesheets使用@importin 加载sass partials in application.sass-
@import "pages/common"
@import "pages/**/*"
@import "jquery-ui.css"
Run Code Online (Sandbox Code Playgroud)
现在,我也想加载vendor/assets/stylesheets.请注意,我没有使用require vendor,因为@import pages/*似乎是这样做的推荐方法.这里的文件将是css,而不是sass或scss.我无法使用,@import ../../../vendor/assets/stylesheets/*因为它只适用于sass和scss文件.
有没有办法做到这一点?
更新
我现在拥有的是这个.
application.css.scss
//= require_tree .
//= require vendor
//= require_self
Run Code Online (Sandbox Code Playgroud)
这包括上面提到的所有sass部分.将require vendor在
vendor/assets/stylesheets/vendor.css 好像
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
这种方法的一个警告是sass mixins(用户定义和插件)和公共变量在所有部分中都不可用.我现在拥有的是_common_imports.sass我@import在所有部分中的第一件事.
common_imports.sass
@import "colors"
@import "compass/css3/gradient"
@import "compass/css3/border-radius"
@import "compass/css3/box-shadow"
Run Code Online (Sandbox Code Playgroud)
common_imports在所有部分中导入感觉非常重复.
Leo*_*Leo 22
如果我正确理解你,我认为这可能会有所帮助.
config/application.rb在class Application < Rails::Application块内添加以下内容:
config.sass.load_paths << File.expand_path('../../lib/assets/stylesheets/')
config.sass.load_paths << File.expand_path('../../vendor/assets/stylesheets/')
Run Code Online (Sandbox Code Playgroud)
我刚刚将上面的内容添加到应用程序中,以下指令现在都可以正常工作:
@import 'grid'在app/assets/stylesheets/application.css.scss查找文件中vendor/assets/stylesheets/_grid.scss;@import 'background'再次进入application.css.scss,查找vendor/assets/stylesheets/background.css.这有帮助吗?对不起,如果我误解了这个问题!
| 归档时间: |
|
| 查看次数: |
24356 次 |
| 最近记录: |