Symfony 2 中CSS 檔案中資源的路徑
本討論重點是尋找一種解決方案,用於在CSS 檔案中引用圖像,同時保持所需的圖像Symfony 2 中的目錄結構。目標是解決 CSS 檔案中的路徑問題,並確保在不向公眾公開原始來源檔案的情況下可以存取圖像。
先前的解決方案
最初的嘗試涉及在 CSS 檔案中硬編碼絕對路徑,從而使應用程式與子目錄不相容。也使用了帶有 filter="cssrewrite" 的 Assetic,但它導致了錯誤的路徑生成。
目前(首選)解決方案
首選解決方案需要將CSS 檔案儲存在「Resources/assets/css」目錄和「Resources/public/images」目錄中的圖像。透過 CSS 檔案中的相對引用,例如“url("../images/myimage.png")”,可以在編譯時產生正確的路徑。這種方法在開發和生產環境中都能完美運作。
討論與分析
作者使用@notation、相對錶示法、CSS 重寫的各種組合進行了廣泛的測試,圖像背景與src,以及使用和不使用assetic 進行解析。結果顯示,只有特定選項才能產生所需的行為。
解決方案說明
所需的成功方法:
最終想法和注意事項
為了增加安全性,建議將原始CSS 檔案儲存在「 assets」目錄,並讓部署程序在編譯之前將它們複製到「public」目錄。或者,仍然可以將原始檔案儲存在「public」目錄中,以便在開發過程中使用 --symlink,前提是您編寫了編譯後刪除這些檔案的腳本。
以上是如何在 Symfony 2 中正確引用 CSS 檔案中的圖片?的詳細內容。更多資訊請關注PHP中文網其他相關文章!