首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails资产管道:已加载的压缩/小型化CSS,但没有样式文档

Rails资产管道:已加载的压缩/小型化CSS,但没有样式文档
EN

Stack Overflow用户
提问于 2014-11-01 21:56:56
回答 1查看 1K关注 0票数 1

我有一个Rails 4应用程序,由Nginx +客运公司提供服务,并使用Rails资产管道。在部署之前,将预编译资产并将其加载到公共/资产文件夹中。

当我在浏览器中加载页面时,将请求并正确加载压缩和缩小的css和javascript文件。javascript工作正常,但页面呈现完全不带样式。

以下是相关的环境变量:

  1. 下面是压缩的css文件:http://pastebin.com/SGZmRfiv
  2. 我正在用YUI压缩器压缩CSS:config.assets.css_compressor = :yui
  3. 通过chrome调试器显示压缩css文件的内容类型的图片:

  1. 我使用漂亮的rails-assets PACKAGE (https://rails-assets.org/)宝石将保龄球包加载为资产:

  1. 下面是我的“公共/资产”文件夹的截图:

  1. 在页面加载中加载的资产:

更新:我在想,也许我的问题源于Rails-资产创业板。我的applications.css文件:

代码语言:javascript
复制
 *= require_self
 *= require font-awesome
 *= require vendors
 *= require bootstrap
 *= require sweetalert
 *= require jquery-ui
 *= require_tree .
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 18:21:50

我花了差不多一个星期,但我终于找到了一个可以接受的解决办法。

第一步,意识到css压缩过程有问题。我发现这一点是因为我从配置文件:config.assets.css_compressor = :yui中删除了这一行。一旦删除,css_compressor就会返回到默认的压缩器上,即sass。

现在,在执行rake assets:precompile时,我得到以下错误:

代码语言:javascript
复制
➜  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:52

看起来压缩机不喜欢某些微软相关的梯度css规则。

FIX I删除了BOWER风格的几个资产宝石,并将其替换为rails特定的gems。我的新创业板文件如下:

如您所见,我现在使用的是与rails特定的链轮兼容的引导--一种字体--令人敬畏的宝石。

我的application.css文件现在看起来如下所示:

代码语言:javascript
复制
 11  *= require_tree .
 12  *= require_self
 13  *= require font-awesome
 14  *= require vendors
 15  *= require bootstrap
 16  *= require sweetalert
 17  *= require jquery-ui
 18  */

我在app/assets/样式表目录中添加了一个名为app.scss.css的新文件:

摘要:通过删除几个“rails -assets PACKAGE”风格的宝石,并将它们替换为与SASS/链轮兼容的和rails特定的gems,现在rake assets:precompiles工作了,浏览器正确地显示了服务的CSS.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26693679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档