我們使用Compass轉爲Sprite圖像(將許多圖像合併爲一個文件)。如果我爲images/common/dir創建一個Sprite,Compass將創建一個名爲common-sff832da50b.png的文件。每次重新生成Sprite時,Compass都會生成一個新的後綴。如果我將這些Sprite圖像保留在app/assets/images中,我會在public/assets中看到common-sff832da50b.png和common-sff832da50b-4a575c6c5d24895370db5ee7e7648d3a.png。由於Compass管理這個文件,我沒有理由讓Asset Pipeline「管理」它。我可以通過配置Compass將這些精靈直接編譯成公共/資產來繞過資產管道。這是否有缺點?我們是否應該將Sprited圖像保留在資產管道之外?
也有理由認爲,我應該確保編譯成Sprites的「源」圖像不應該存儲在app/assets/images中,因爲Asset Pipeline也會「管理」它們。請記住,這些「源」圖像不被使用。該應用在開發和生產中使用Sprites。據我所知,Asset Pipeline沒有理由將原始文件和原始摘要複製到公共/資產中。我們只在Sprite中使用它。這聽起來合理嗎?有缺點嗎?
假設:Rails 3.2。*
謝謝!
更新:我們做了一個清單。 995個圖像被「編譯」成7個精靈。由於資產管道也指紋這些(和精靈文件),這意味着部署了2000個文件,只能被忽略。這包括複製的6.7G的1.8G。這是否會改變你的想法? –