1

资产管道由 3 个过程组成 - 预编译、连接和缩小。

我知道 JavaScript 和 CSS 可以从中受益。但是,我想不出图像有什么好处。

你能解释一下吗?

谢谢。

山姆

4

3 回答 3

2

假设您对图像使用 Rails 助手(例如image_tag),版本控制/指纹识别是主要好处。

指纹有助于破坏缓存(从 CDN 和浏览器的角度来看)。

请参阅此导轨部分

于 2012-09-17T15:47:05.223 回答
1

通过 Rails 资产管道传递图像的一个好处是利用资产指纹,它允许您设置未来的缓存标头并在资产更改时破坏缓存。

当文件名是唯一的并且基于其内容时,可以设置 HTTP 标头以鼓励各处的缓存(无论是在 CDN、ISP、网络设备还是 Web 浏览器中)以保留自己的内容副本。当内容更新时,指纹会发生变化。这将导致远程客户端请求内容的新副本。这通常称为缓存清除。(来自Ruby on Rails 指南:资产管道

于 2012-09-17T15:49:33.587 回答
1

在 Ruby CSS 文件中渲染 SVG 文件时

Example
.benefits__icon::after {
  content: "";
  background: url("learn-investment-investxd.svg") no-repeat;
  background-size: 52px;
}

使用assets.rb文件

  Rails.application.config.assets.precompile += %w( application.css dashboard.css dashboard.js)` with no other configuration.

http://localhost:3001/learn-investment-investxd.png上面的示例,即使我将图像文件learn-investment-investxd.png放在我的assets/images文件夹中,背景 url 也会恢复。

我的解决方法

我添加assetsurl

.benefits__icon::after {
  content: "";
  background: url("assets/learn-investment-investxd.svg") no-repeat;
  background-size: 52px;
}

这行得通。 可以改进

于 2018-04-20T13:00:50.950 回答