如何在 Ruby on Rails 中启用压缩?

2024-04-19

我在这里发布了类似的问题

使用 Rack-Zippy 在 Heroku 中提供压缩资源 https://stackoverflow.com/questions/25552802/serving-compressed-assets-in-heroku-with-rack-zippy

但决定放弃该服务,因为我无法让它工作。

我在网站上运行 PageSpeed Insights 来确定网站的速度。

我收到的最重要的建议是启用压缩。

Compressing resources with gzip or deflate can reduce the number of bytes sent over the network.
Enable compression for the following resources to reduce their transfer size by 191.2KiB 
(74% reduction).

我已按照该网站上的说明进行操作

https://developers.google.com/speed/docs/insights/EnableCompression https://developers.google.com/speed/docs/insights/EnableCompression

它说要查阅您的网络服务器的文档以了解如何启用压缩:

我使用这个网站来查找我的网络服务器

http://browserspy.dk/webserver.php http://browserspy.dk/webserver.php

原来我的网络服务器是WEBrick。

PageSpeed Insights 页面仅列出以下 3 台服务器

Apache: Use mod_deflate
Nginx: Use ngx_http_gzip_module
IIS: Configure HTTP Compression

我搜索了有关 WEBrick 服务器的 gzip 压缩的文档,但没有找到任何内容。

我搜索了如何在 Rails 中启用压缩,但找不到任何内容。这就是我在这里问的原因。

我尝试过使用 Rack Zippy 但放弃了。

现在,我什至不知道从哪里开始。我的第一步,是找出我应该做什么。

Edit

我遵循艾哈迈德使用 Rack::Deflator 的建议

我通过运行确认了它

rake middleware
=> use Rack::Deflator

and then

git add .
git commit -m '-'
git push heroku master

不幸的是 PageSpeed 仍然说它需要压缩。我通过进入开发人员工具

我的其中一个文件有问题吗?

感谢您的帮助。

这是我的完整 config/application.rb 文件

require File.expand_path('../boot', __FILE__)

require 'rails/all'

Bundler.require(*Rails.groups)

module AppName
  class Application < Rails::Application

    config.middleware.use Rack::Deflater
    config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
    config.exceptions_app = self.routes

    config.cache_store = :memory_store

  end
end

如果有问题,源头很可能就在那里,对吧?

我需要安装 deflator gem 吗?


启用压缩

将其添加到 config/application.rb 中:

module YourApp
  class Application < Rails::Application
    config.middleware.use Rack::Deflater
  end
end

Source: http://robots.thoughtbot.com/content-compression-with-rack-deflater http://robots.thoughtbot.com/content-compression-with-rack-deflater

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ruby on Rails 中启用压缩? 的相关文章

随机推荐

  • 关闭文件而不退出 VIM 应用程序?

    我用 e and w用于编辑和写入文件的命令 我不确定是否有 close 命令可以在不离开Vim的情况下关闭当前文件 I know that the q command can be used to close a file but if
  • 如何在嵌入式 Jetty 上设置 SSL?

    我已经嵌入了 jetty 7 x 基本上只是创建一个 SelectChannelConnector 来侦听端口 80 和 WebAppContext 来部署单个 WAR 目录 我现在需要添加 SSL 所有密钥库内容都已完成 我本想只添加一个
  • 如何覆盖 SyliusCoreBundle 模型用户

    我尝试在模型用户 SyliusCoreBundle Model User 中添加一个新字段 电话 避免接触SyliusCoreBundle 我创建了一个新的捆绑包 ShopBundle 它位于其他 sylius 捆绑包旁边以覆盖基本用户类
  • ASP.NET 中的 Twitter API 集成

    目前我正在使用剃刀使用MVC4 5 我尝试将 Twitter API 集成到我的应用程序中 但没有成功 您能帮助我如何将 Twitter API 集成到我的应用程序中吗 我已经创建了 twitter API 详细信息如下 OAuth 设置
  • Swift 4 JSON Codable - 返回的值有时是一个对象,其他是一个数组

    我从 API 获取的数据返回单个对象 但当有多个对象时 它会返回同一键中的数组 对于我正在使用的当前模型 结构 当数组出现时解码会失败 这些结果是随机排序的 这意味着我不知道何时会收到对象或数组 有没有办法创建一个模型 考虑到这一事实 并可
  • 数据库设计 - 是否应该避免一对一关系? [复制]

    这个问题在这里已经有答案了 可能的重复 是否存在使用数据库 1 1 关系有意义的时候 https stackoverflow com questions 517417 is there ever a time where using a d
  • SourceTree - 变基 - 合并期间的错误

    我正在尝试做一些简单的事情 例如编辑先前提交的提交消息 检查git status I have nothing to commit working directory clean 然后 我单击提交并执行 SourceTree gt Repo
  • iOS UIPageViewController 页面控制不同步

    每当我滑动页面控制器并点击UIPageControl同时在底部向相反方向滑动 当前显示的页面和pageControl中的页码会不同步 有没有人遇到过这个奇怪的问题并解决了 如果您需要任何其他信息 请告诉我 刚刚查看了文档UIPageCont
  • 如何更新 Laravel 4 中现有的 Eloquent 关系?

    我正在尝试更新 Laravel 中一对多关系的关系 不幸的是我找不到任何相关文档 谁能帮我 这是我到目前为止所拥有的 class Account extends Eloquent public function users return t
  • scanf 的四边形和参数类型

    我用
  • 平均日期数组计算

    我想得到以下日期的平均值 我考虑过将所有数据转换为秒 然后对它们进行平均 但可能有更好的方法来做到这一点 date 2016 02 23 09 36 26 2016 02 24 10 00 32 2016 02 24 11 28 22 20
  • java.lang.NoSuchFieldException:使用反射时

    public static
  • 无法从 scm 存储库获取分支信息

    我在构建 Maven 项目时遇到以下错误 有解决这个问题的想法吗 ERROR Failed to execute goal org codehaus mojo buildnumber maven plugin 1 4 create defa
  • Symfony2,奏鸣曲:折叠组

    我一直在尝试做一些相对简单的事情 但这不起作用 我希望能够折叠奏鸣曲中的组以增强用户的体验 gt with MyGroup array collapsed gt true add MyField gt end 这是根据奏鸣曲改编的文档 ht
  • python 列表理解 double for

    vec 1 2 3 4 5 6 7 8 9 print num for elem in vec for num in elem lt this gt gt gt 1 2 3 4 5 6 7 8 9 这是在骗我 我知道 elem 是列表中的列
  • 在 Python Pandas 中使用 groupby 按列连接行

    而不是例如使用 group by 计算总和 我想连接同一组中的所有行 下面的代码应该只组合 连接行 而不是 sum 如果每组有 5 行 则新数据框的列数将是 5 倍 每列 x 5 例子 这是我现在拥有的数据框 Index Pool B C
  • 如何制作右结合中缀运算符?

    我有一个关联操作 gt gt 问题是它的成本线性取决于其左操作数的大小 所以由一系列组成的表达式n的应用 gt gt like a gt gt a gt gt a gt gt a gt gt a gt gt gt gt a 它的成本是二次方
  • 模态视图阻止其他视图旋转

    我的 MainViewController 中有这个方法 void willAnimateRotationToInterfaceOrientation UIInterfaceOrientation toInterfaceOrientatio
  • Powershell 远程处理 - 策略不允许委派用户凭据

    我是 powershell 新手 在使用凭据委派时遇到问题 我有以下脚本 session New PSSession myserver Authentication CredSSP Credential DOMAIN Administrat
  • 如何在 Ruby on Rails 中启用压缩?

    我在这里发布了类似的问题 使用 Rack Zippy 在 Heroku 中提供压缩资源 https stackoverflow com questions 25552802 serving compressed assets in hero