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 %}
編譯過程:
將原先的CSS 檔案複製到public 目錄。
執行"assetic:dump" 編譯CSS檔案。以上是如何在 Symfony 2 中管理 CSS 資產路徑以實現安全且有效率的部署?的詳細內容。更多資訊請關注PHP中文網其他相關文章!