Chemin des actifs dans les fichiers CSS dans Symfony 2
Symfony 2 fournit un mécanisme pour gérer les actifs, tels que les fichiers CSS et image, via la composante Actif. Cependant, spécifier le chemin correct vers les actifs référencés en CSS peut être un défi dans certaines structures de répertoires de projet.
Aperçu du problème
Considérez la structure de répertoires suivante :
Dans ce cas, les fichiers CSS résident sous /app/Resources/assets/css, tandis que les images se trouvent dans /web/images. L'objectif est de référencer ces images à partir des fichiers CSS.
Solutions échouées
Première solution : chemins absolus
Changer les chemins des fichiers CSS en URL absolues n'est pas une solution viable car l'application ne s'exécute pas toujours à la racine
Deuxième solution : Assetic avec le filtre CSSrewrite
L'utilisation d'Assetic avec le filtre "cssrewrite" échoue également, car le code généré ne produit pas le chemin correct vers le répertoire images.
Solution actuelle : relative Chemins
La définition des chemins d'image relatifs aux fichiers CSS fonctionne dans l'environnement de production mais échoue dans l'environnement de développement.
Solution de travail
La solution la plus efficace consiste à stocker les fichiers CSS dans un répertoire accessible au public et à reconstruire le CSS lors du déploiement. Voici comment cela fonctionne :
Avec cette approche, les fichiers CSS sont recompilés lors du déploiement, garantissant qu'ils contiennent les chemins corrects vers les images. Les images elles-mêmes se trouvent toujours dans le répertoire web/images, mais elles ne sont pas accessibles directement par les utilisateurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!