参见英文答案 >
“non-terminal statement or declaration” error when using Microsoft’s proprietary filter property in Sass1
我试图预编译资产进行生产.除非我将bootstrap和font-awesome资产作为静态文件(或从CDN主机)引入,否则在生产中尝试编译资产时,sass-rails将失败.我的Gemfile如下所示:
我试图预编译资产进行生产.除非我将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::@R_404_156@Error: 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 @R_404_156@中看到,我已经在progid和DXImageTransform.Microsoft.gradient()之间移除了额外的空格.