在生产中使用Rails资产管道的目的是什么?

时间:2013-01-24 01:06:45

标签: ruby-on-rails asset-pipeline

我理解它在开发中的目的,但是当我在部署时预编译我的资产时,似乎它会使最有意义的简化并在生产中将其关闭。它只用于指纹识别吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

每次请求重新编译资产都是愚蠢的。这就是config/environments/production.rb包含config.assets.compile = false的原因,它会强制您预编译资产。如果它们是预编译的,那么资产就会静态提供 - 正如guide所解释的那样。

但是,config.assets.enabled = false完全禁用了资产管道,因此您甚至无法预编译资产 - 它假设您正在使用旧式手工生成资产并将其放入{{1文件夹自己。