使用 rails 资产管道拥有 html5 缓存清单的最佳方式是什么?我正在考虑向 app/assets 添加一个 erb 文件,其中包含所有资产的路径。这可行,但马上就有几个问题:
- 我怎样才能增加版本号?
- 如何确保正确设置了 http 内容类型?
使用 rails 资产管道拥有 html5 缓存清单的最佳方式是什么?我正在考虑向 app/assets 添加一个 erb 文件,其中包含所有资产的路径。这可行,但马上就有几个问题:
以下是我们现在在应用程序上的做法:
"/assets/application.css"
stylesheet_link_tag
,javascript_include_tag
或image_tag helpers
用于可缓存资产,因此我们不会获得指向其中包含哈希的资产的链接,例如"/assets/application-2345234...2344.css"
这是因为在预编译资产时,rake assets:precompile:nondigest
会创建名称中没有哈希的文件版本,然后Rack::Offline
检查这些版本以生成新的清单(或不生成)。
Sprockets 默认为您提供一个。
在您的环境配置之一(/config/environments/development.rb)
config.assets.compress = false
config.assets.debug = false
并在您的 html 文件中:
<html manifest="manifest.yml">
跑步
rake:precompile
会给你一个清单文件到 public/assets/manifest.yml