首頁 >web前端 >css教學 >如何在 Symfony 2 中管理 CSS 資產路徑以實現安全且有效率的部署?

如何在 Symfony 2 中管理 CSS 資產路徑以實現安全且有效率的部署?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-12 09:18:01937瀏覽

How to Manage CSS Asset Paths in Symfony 2 for Secure and Efficient Deployment?

Symfony 2 中CSS 資源的路徑

問題:

問題:可能的解決方案:

解決方案1:絕對路徑

將CSS 中的所有路徑更改為絕對路徑並不是一個合適的解決方案,因為應用程式可能不會總是

解決方案2:Assetic 與“cssrewrite”過濾器

將Assetic 與“ cssrewrite”過濾器一起使用可以幫助重寫路徑,但通常會這樣導致路徑生成不正確。

解決方案3:相對路徑

將CSS 中的所有路徑更改為相對於樣式表位置是有效的,但在開發環境中除外,其中CSS路徑包含“/app_dev.php”並導致映像出現“NotFoundHttpException”

工作解決方案:

唯一的工作解決方案是將原始CSS 檔案放在私有目錄(例如「Resources/assets/css」)中,並使用Assetic 將它們編譯到公用目錄(例如「web/css」)。

程式碼結構:

...
+-src/
| +-MyCompany/
|   +-MyBundle/
|     +-Resources/
|       +-assets/
|         +-css/
|           +-stylesheets...
+-web/
| +-css/
|   +-stylexyz.css
| +-images/
|   +-images...
...

資產枝碼:

{% stylesheets
    '@MyCompanyMyBundle/Resources/assets/css/*.css'
    filter="cssrewrite"
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

編譯過程:

  1. 編譯過程:
  2. 🎜>
  3. 此程序將確保CSS 檔案以正確的影像路徑編譯到公用目錄中:

將原先的CSS 檔案複製到public 目錄。

執行"assetic:dump" 編譯CSS檔案。
  • 從公用目錄中刪除原始CSS檔案。
  • 優點:
允許將原始 CSS 檔案儲存在私人目錄中。 將 CSS 編譯為具有正確圖像路徑的公開目錄。 不對公眾公開原始 CSS 文件。

以上是如何在 Symfony 2 中管理 CSS 資產路徑以實現安全且有效率的部署?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn