2016-04-28 22 views
1

我試圖弄清楚,我是否應該在我的開發環境中使用config.assets.prefix你爲什麼要在rails中使用config.assets.prefix?

當我使用本地主機進行開發時,是否有這樣做的任何(dis-)優勢?當本地服務器本身沒有緩存並且位於另一個域(生產域vs本地主機)時,我看不到缺點?尤其對於在CSS和Javascript中對一些路徑進行硬編碼,這些路徑將始終返回404開發版。

我一直在使用config.assets.prefix = "/dev-assets"作爲pr。另一位開發人員的推薦,他不再與我們合作。

這是一個問題,其他人有沒有想過並採取立場?

回答

1

使用config.assets.prefix的最大原因是使用本地資產預編譯。本地預編譯和存儲在​​源代碼管理中有多種原因。從http://guides.rubyonrails.org/asset_pipeline.html#local-precompilation

  • 您可能沒有到生產文件系統的寫訪問。
  • 您可能會部署到多臺服務器,並希望避免重複工作。
  • 您可能正在進行不包含資產更改的頻繁部署。

本地編譯允許您將編譯後的文件提交到源代碼管理,並正常部署。

但是,如果您使用這種方式,您將在開發模式中陷入困境,因爲rails會提供您在/public/assets中找到的預編譯資產。因此,您經常設置config.assets.prefix = '/dev-assets',因此每次您想要查看/app/assets中的本地更改的效果時都不需要預編譯。

相關問題