我正在开发一个拥有大量资产的Rails应用程序,但遗憾的是无法减少。在生产中,这不是问题,但在开发过程中,应用服务器(如webrick或Thin)无法快速为每个访问页面提供约20个资产请求。
所以我开始在开发中使用nginx来提供public/assets
中的任何内容。请注意,nginx纯粹是一个开发工具 - 我们不打算在生产中使用它。
为了工作,我只需做两件事:
config.assets.debug
设为false rake assets:precompile
遗憾的是,我的设置存在两个问题(后者是最重要的问题):
rake assets:precompile
什么是正确的nginx / Asset Pipeline设置,在预编译后不需要重启Rails服务器?
也欢迎自动编译。
答案 0 :(得分:3)
此设置对我有用:
> print(string.format("%15d", mac_int))
115072593268806
config.asset_host
config.assets.debug = false
config.assets.digest = true
config.assets.compile = true
rm -rf public/assets; rake tmp:clear tmp:cache:clear assets:clean assets:precompile
。警卫可以照顾到这一点。答案 1 :(得分:1)
这可能需要付出很多努力,但考虑转换为gulp或grunt以编译资产。使用节点js可以加速过程显着(很多文章,这里是一个示例http://blog.carbonfive.com/2014/05/05/roll-your-own-asset-pipeline-with-gulp/)。 还可以在没有服务器重启的情况下编译重要资产(在文件更改[hooks]上触发进程)。在我参与的项目中,我们的一个人正试图进行这种转换,从他所说的我理解它不是一天的任务。