为什么要在rails中使用config.assets.prefix



我试图弄清楚,我是否应该在我的开发环境中使用config.assets.prefix

当我使用 localhost 进行开发时,这样做有什么(缺点)优势吗?当本地服务器本身没有缓存并且位于另一个域(生产域与本地主机)上时,我看不到缺点?特别是对于在CSS和Javascript中硬编码一些路径,然后它们在开发时将始终返回404。

我一直在使用config.assets.prefix = "/dev-assets"作为另一个不再与我们合作的开发人员的公关推荐。

这是一个问题,其他人已经思考并采取了立场吗?

使用config.assets.prefix的最大原因,源于本地资产预编译的使用。在本地预编译并存储在源代码管理中有多种原因。从 http://guides.rubyonrails.org/asset_pipeline.html#local-precompilation

  • 您可能没有对生产文件系统的写入访问权限。
  • 您可能要部署到多个服务器,并希望避免重复工作。
  • 您可能正在执行不包括资产更改的频繁部署。

本地编译允许您将编译的文件提交到源代码管理中,并正常部署。

但是如果你使用它,你会在开发模式下遇到麻烦,因为 rails 将为你在 /public/assets 中找到的预编译资产提供服务。因此,您经常设置config.assets.prefix = '/dev-assets'这样就不需要每次想要在 /app/assets 中查看本地更改的效果时进行预编译。

最新更新