1

使用 rails 资产管道拥有 html5 缓存清单的最佳方式是什么?我正在考虑向 app/assets 添加一个 erb 文件,其中包含所有资产的路径。这可行,但马上就有几个问题:

  • 我怎样才能增加版本号?
  • 如何确保正确设置了 http 内容类型?
4

2 回答 2

1

以下是我们现在在应用程序上的做法:

  • 为了处理缓存清单文件的生成,我们使用Rack::Offline
  • 然后我们将其配置为指向,例如,"/assets/application.css"
  • 在布局/视图中,我们不使用stylesheet_link_tag,javascript_include_tagimage_tag helpers用于可缓存资产,因此我们不会获得指向其中包含哈希的资产的链接,例如"/assets/application-2345234...2344.css"

这是因为在预编译资产时,rake assets:precompile:nondigest会创建名称中没有哈希的文件版本,然后Rack::Offline检查这些版本以生成新的清单(或不生成)。

于 2011-10-20T19:18:37.007 回答
-4

Sprockets 默认为您提供一个。

在您的环境配置之一(/config/environments/development.rb)

config.assets.compress = false
config.assets.debug = false

并在您的 html 文件中:

<html manifest="manifest.yml">

跑步

rake:precompile 

会给你一个清单文件到 public/assets/manifest.yml

于 2011-11-20T00:49:13.063 回答