gpt4 book ai didi

ruby-on-rails - 在 Rails 4 上的开发中禁用 sprockets Assets 缓存

转载 作者:行者123 更新时间:2023-12-04 12:21:10 25 4
gpt4 key购买 nike

另一个问题“Disable Sprockets asset caching in development”解决了如何在 Rails 3.2 中禁用 sprockets 缓存。你如何在 Rails 4 上做同样的事情?我正在研究 Assets 管道深处的 gem ,必须清除 tmp/cache/*并重新启动 Rails 越来越累。

最佳答案

如果您查看 sprockets source ,你可以看到如果 cache_classes那么为真 app.assets设置为 app.assets.index ,不再检查文件系统。

为了在开发中解决这个问题,您可以添加类似于 following 的内容。给您的 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

这实质上是在 Sprockets::Environment 对象被 Sprockets::Index 覆盖之前获得了对它的尊重,并且即使在 cache_classes 时也允许检查文件系统是否有新 Assets 。是真的。这似乎对我们的开发有用,所以希望它也能帮助其他人。

关于ruby-on-rails - 在 Rails 4 上的开发中禁用 sprockets Assets 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22979839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com