2013-01-24 48 views

回答

0

每次请求重新编译资产都很愚蠢。这就是为什么config/environments/production.rb包含config.assets.compile = false,这迫使您预编译您的资产。如果它们是预编译的,那么资产将静态地提供服务 - 如guide所解释的那样。

但是,config.assets.enabled = false会完全禁用资产管道,因此您甚至无法预编译资产 - 它假设您正在执行手工生成资产的旧式方法,并将它们自己放入public文件夹中。

+0

好的,我想我在想''production.rb'中'true'的默认原因是什么。我想这是为了涵盖那些不预先编译资产的人。 – devth

+0

不,默认情况下(至少在Rails 3.2上),production.rb具有'config.assets.compile = false',所以你*有*来预编译资产。 –

+0

对不起,我的意思是'config.assets.enabled = true'。 – devth

1

它最小化代码大小并将单独的文件编译为一个文件以提高下载速度。

资产是预编译的,无论是在本地还是在生产中。 指纹印刷将确保当您将更改推送到生产时,人们不会在浏览器缓存中保留较旧的副本。

+0

对。我了解资产管道的用途。我想知道为什么要在生产环境中启用它,当你可以在部署时进行预编译。 – devth

相关问题