gpt4 book ai didi

ruby-on-rails - Rails 不提供压缩的 SVG 文件

转载 作者:行者123 更新时间:2023-12-04 07:38:35 25 4
gpt4 key购买 nike

我一直在使用 Google PageSpeed 来优化我的 Rails 5.0 应用程序,特别是 SVG 突然出现了一些奇怪的东西。我使用 Rack::Deflate 像这样压缩静态 Assets ...

config/application.rb

config.middleware.use Rack::Deflater

...然而 Google PageSpeed 仍然提示提供未压缩的 SVG。

我觉得这很奇怪,所以我添加了一些 code作为 Assets 预编译的一部分手动压缩 SVG。这非常有效,我可以转到 http://myapp.com/sample_image.svg.gz我确实得到了压缩图像文件。

但是,Google PageSpeed 仍在提示正在提供未压缩的 Assets 。

看起来,就像 Rails 5.0 没有压缩我的 SVG 一样,当我手动压缩它们时,它仍然不会服务它们。 p>

是否需要在此处调整某种配置才能正确提供压缩的 SVG 文件?

最佳答案

我开始了一个discussion关于如何以全面的方式解决这个问题,因为这似乎也会影响链轮将压缩但 ActionDispatch::Static 不会提供的字体和 json 文件。无论如何,这是一个通过 monkeypatch 的解决方案(放入初始化程序):

require 'action_dispatch/middleware/static'

ActionDispatch::FileHandler.class_eval do
private

def gzip_file_path(path)
return false if ['image/png', 'image/jpeg', 'image/gif'].include? content_type(path)
gzip_path = "#{path}.gz"
if File.exist?(File.join(@root, ::Rack::Utils.unescape_path(gzip_path)))
gzip_path
else
false
end
end
end

关于ruby-on-rails - Rails 不提供压缩的 SVG 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43711209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com