有一个html5缓存清单与rails资产管道的最佳方式是什么?我正在考虑添加一个erb文件到app/assets,其中包含所有资产的路径。这将工作,但有几个问题马上:
- 如何增加版本号?
- 如何确保http内容类型设置正确?
我们现在是这样做的:
- 处理缓存清单文件的生成,我们使用Rack::Offline
- 然后将其配置为指向,例如,
"/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
将给你一个manifest文件到public/assets/manifest.yml