The default Rails app installed by
rails new has
config.assets.compile = false in production.
And the ordinary way to do things is to run
rake assets:precompile before deploying your app, to make sure all asset pipeline assets are compiled.
So what happens if I set
config.assets.compile = true in production?
I wont' need to run
precompile anymore. What I believe will happen is the first time an asset is requested, it will be compiled. This will be a performance hit that first time (and it means you generally need a js runtime in production to do it). But other than these downsides, after the asset was lazily compiled, I think all subsequent access to that asset will have no performance hit, the app's performance will be exactly the same as with precompiled assets after this initial first-hit lazy compilation. is this true?
Is there anything I'm missing? Any other reasons not to set
config.assets.compile = true in production? If I've got a JS runtime in production, and am willing to take the tradeoff of degraded performance for the first access of an asset, in return for not having to run
precompile, does this make sense?