ruby-on-rails-4 – 无法预编译资源路径4 bootstrap-sass DXImageTransform错误

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-4 – 无法预编译资源路径4 bootstrap-sass DXImageTransform错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > “non-terminal statement or declaration” error when using Microsoft’s proprietary filter property in Sass1
我试图预编译资产进行生产.除非我将bootstrap和font-awesome资产作为静态文件(或从CDN主机)引入,否则在生产中尝试编译资产时,sass-rails将失败.我的Gemfile如下所示:
# Default asset gems
gem 'coffee-rails','~> 4.0.0'
gem 'sass-rails','~> 4.0.3'
gem 'uglifier','>= 1.3.0'

# Default gems
gem 'jbuilder','~> 2.0'
gem 'sdoc','~> 0.4.0',group: :doc

# Added gems
gem 'carrierwave'
gem 'pg'
gem 'turbolinks'
gem 'restforce'

# Asset gems
gem 'jquery-rails'
gem 'autoprefixer-rails'
gem 'bootstrap-sass'
gem 'font-awesome-sass'
gem 'handlebars_assets'
gem 'iconv'

当我尝试编译资产时,我会收到以下错误

➜  stylesheets git:(master) ✗ rake assets:precompile
(in /home/ubuntu/spice-conduit)
rake aborted!
Sass::SyntaxError: Invalid CSS after "    filter: progid": expected ";",was ": DXImageTransf..."
  (in /home/ubuntu/spice-conduit/app/assets/stylesheets/application.css)
(sass):3566
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:1147:in `expected'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:1085:in `expected'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:1080:in `tok!'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:586:in `block in declaration_or_ruleset'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:1123:in `call'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:1123:in `rethrow'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:592:in `declaration_or_ruleset'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:554:in `block_child'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:546:in `block_contents'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:535:in `block'
/home/ubuntu/.rvm/gems/ruby-2.1.3/gems/sass-3.2.19/lib/sass/scss/parser.rb:529:in `ruleset'

app.css文件

* You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file,but it's generally better to create a new file per style scope.
 *
 *= require jquery-ui
 *= require sweetalert
 *= require vendors
 *= require_tree .
 */

我的scss文件

@import "font-awesome-sprockets";
@import "font-awesome";
@import "bootstrap-sprockets";
@import "bootstrap";

我在这里报道了这个问题:https://github.com/rails/sass-rails/issues/37
但这个问题是几岁.

解决方法

删除progid和DXImageTransform.Microsoft.gradient之间的空白.

例如,

老式语法

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr =’#7adddd’,endColorstr =’#39cccc’,GradientType = 0)!important;

新语法

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr =’#7adddd’,GradientType = 0)!important;

您可以在NEW Syntax中看到,我已经在progid和DXImageTransform.Microsoft.gradient()之间移除了额外的空格.

猜你在找的Ruby相关文章