Cym*_*men 7 caching ruby-on-rails sprockets ruby-on-rails-4
另一个问题" 在开发中禁用Sprockets资产缓存 "解决了如何在Rails 3.2中禁用Sprockets缓存.你如何在Rails 4上做同样的事情?我正在开发一个资产管道深处的宝石,并且必须清除tmp/cache/*并重新启动Rails才会变得很累.
如果查看Sprockets 源代码,可以看到如果cache_classes为true则app.assets设置为app.assets.index,并且不再检查文件系统.
为了解决这个问题,您可以在配置中添加类似以下的内容development.rb:
# Sprockets configuration: prevent sprockets from caching assets in development
# when cache_classes is set to true
sprockets_env = nil
config.assets.configure do |env|
sprockets_env = env
# Sprockets environment configuration goes here
# env.js_compressor = :uglifier # or :closure, :yui
# env.css_compressor = :sass # or :yui
end
if config.cache_classes
config.after_initialize do
Rails.application.assets = sprockets_env
end
end
Run Code Online (Sandbox Code Playgroud)
在Sprockets :: Environment对象被覆盖之前,这基本上是对Sprockets :: Environment对象的尊重,并且即使在cache_classes为真时也允许检查文件系统的新资产.这似乎对我们的开发有用,所以希望它也可以帮助其他人.
| 归档时间: |
|
| 查看次数: |
1647 次 |
| 最近记录: |