【发布时间】:2017-04-30 20:53:42
【问题描述】:
我一直在使用 Google PageSpeed 来优化我的 Rails 5.0 应用程序,特别是 SVG 出现了一些奇怪的东西。我使用Rack::Deflate 来压缩静态资产,像这样......
config/application.rb
config.middleware.use Rack::Deflater
...然而,Google PageSpeed 仍然抱怨提供未压缩的 SVG。
我觉得这很奇怪,所以我添加了一些 code 来手动压缩 SVG 作为资产预编译的一部分。这很好用,我可以去http://myapp.com/sample_image.svg.gz,确实我得到了压缩的图像文件。
但是,Google PageSpeed仍然抱怨提供未压缩的资产。
看起来,就像 Rails 5.0 没有压缩我的 SVG 一样,当我手动压缩它们时,它仍然不会提供它们。 p>
是否需要在此处调整某种配置才能正确提供压缩的 SVG 文件?
【问题讨论】:
-
看起来 Rails 的 ActionDispatch::Static 中间件doesn't recognize svg as a valid format for serving gzipped,尽管 Sprockets 确实会生成 .gz 版本的 svg 文件。必须更改突出显示行上的正则表达式才能改变行为。
标签: ruby-on-rails svg compression asset-pipeline assets