我正在尝试预编译资产以进行生产。除非我将引导程序和超棒的资产包括为静态文件(或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', endColorstr='#39cccc', GradientType=0) !important;
您可以在“新语法”中看到,我已经删除了progid
和之间的多余空间DXImageTransform.Microsoft.gradient()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句