Pfad der Assets in CSS-Dateien in Symfony 2
Problem:
Integration von CSS-Dateien mit Bildern in Symfony 2 mit eine bestimmte Verzeichnisstruktur.
Versucht Lösungen:
-
Absolute Pfade: Das Beibehalten absoluter Pfade in CSS-Dateien ist aufgrund möglicher Bereitstellungsprobleme keine skalierbare Lösung.
-
Assetic mit „cssrewrite“-Filter: Während die Verwendung des cssrewrite-Filters in manchen Fällen hilfreich ist, kann es zu falschen Ergebnissen kommen Pfade.
-
Relative Pfade mit „../“: Dieser Ansatz funktioniert in der Entwicklungsumgebung, stößt jedoch auf Probleme in der Produktionsumgebung.
Endgültige Lösung:
Option 1: Entfernen Sie anschließend die ursprünglichen CSS-Dateien Kompilierung
- Original-CSS-Dateien in einem privaten „Assets“-Verzeichnis speichern.
- Installieren Sie die CSS-Dateien im öffentlichen „Web“-Verzeichnis mit assetic:install.
- Führen Sie assetic:dump aus, um das CSS zu kompilieren und die endgültige Version zu generieren /web/css/stylexyz.css.
- Löschen Sie die ursprünglichen CSS-Dateien aus dem Verzeichnis /public nach assetic:dump.
Option 2: CSS vorkompilieren und installieren Direkt im öffentlichen Verzeichnis
- Kompilieren Sie das CSS mit Ihrer bevorzugten Methode vor (z. B. Sass, Less).
- Kopieren Sie die vorkompilierten CSS-Dateien in das öffentliche „Web“-Verzeichnis.
- Installieren Sie die CSS-Dateien über assetic:install, wodurch Symlinks zu den kompilierten CSS-Dateien erstellt werden .
- Löschen Sie anschließend die ursprünglichen CSS-Dateien aus dem öffentlichen Verzeichnis assetic:install.
Vorteile:
- Entspricht der gewünschten Verzeichnisstruktur.
- Verhindert die Offenlegung von Original-CSS-Dateien der Öffentlichkeit.
- Sorgt für korrekte Pfadverweise auf Bilder.
- Ermöglicht die Verwendung von CSS-Filtern.
Überlegungen:
- Die endgültige Lösung überspringt die Verwendung von Assets () in Twig, da davon ausgegangen wird, dass die CSS-Dateien vorkompiliert und installiert sind.
- Die Einrichtung ist wichtig eine Bereitstellung oder ein automatisierter Prozess, um die Installation und Entfernung von CSS-Dateien nach Bedarf durchzuführen.
Das obige ist der detaillierte Inhalt vonWie verwalte ich Asset-Pfade in CSS-Dateien für Symfony 2-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!