【发布时间】:2012-08-05 04:46:50
【问题描述】:
使用 rails 资产管道生成 html5 缓存清单的最佳方式是什么?我正在考虑向 app/assets 添加一个 erb 文件,其中包含所有资产的路径。这可行,但马上就有几个问题:
- 如何增加版本号?
- 如何确保 http 内容类型设置正确?
【问题讨论】:
标签: ruby-on-rails-3 html asset-pipeline cache-manifest
使用 rails 资产管道生成 html5 缓存清单的最佳方式是什么?我正在考虑向 app/assets 添加一个 erb 文件,其中包含所有资产的路径。这可行,但马上就有几个问题:
【问题讨论】:
标签: ruby-on-rails-3 html asset-pipeline cache-manifest
这是我们现在在应用上的做法:
"/assets/application.css"
stylesheet_link_tag、javascript_include_tag 或image_tag helpers 来处理可缓存资产,这样我们就无法获得带有哈希值的资产的链接,例如@ 987654326@
之所以有效,是因为在预编译资产时,rake assets:precompile:nondigest 创建名称中没有哈希的文件版本,然后Rack::Offline 检查这些版本以生成(或不生成)新清单。
【讨论】:
production.rb 中设置config.assets.digest = false 来绕过第三点吗?
Sprockets 默认为您提供一个。
在您的一个环境配置中 (/config/environments/development.rb)
config.assets.compress = false
config.assets.debug = false
在你的 html 文件中:
<html manifest="manifest.yml">
运行
rake:precompile
会给你一个清单文件到 public/assets/manifest.yml
【讨论】: