Bonjour, j'utilise assetic dans symfony 3, mais j'ai un problème, mes assets sont définis comme ceci :
{% stylesheets filter='cssrewrite' filter='?uglifycss'
'assets/font-awesome-4.6.3/css/font-awesome.min.css'
'assets/bootstrap-3.3.7/css/bootstrap.min.css'
...
%}
Dans la console, exécutez php bin/console assetic:watch
Après une modification de css ou de js, un nouveau fichier sera généré avec le même nom, par exemple ce9c2ef.css
.
Mais c'est un problème car après le déploiement, le fichier css a changé de contenu mais pas de nom de fichier, ce qui fait que tout le monde voit l'ancien css...
Q : Comment puis-je changer le nom du fichier généré à chaque changement de css ?
Il y a une option 'output='path/filename.js' dans {% stylesheets %} mais je ne peux pas l'ajouter. <?php echo $var; ?>
o {{ var }}
...
UPDATE :
config assetic :
assetic:
debug: '%kernel.debug%'
use_controller: '%kernel.debug%'
filters:
cssrewrite: ~
uglifyjs2:
bin: "%kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs"
uglifycss:
bin: "%kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss"
la configuration du modèle :
templating:
engines: ['twig']
EDIT :
J'ai donc trouvé une solution partielle :
Pour configurer l'ajout :
assetic:
workers:
cache_busting: ~
et après cela, votre fichier ressemblera à ce9c2ef-d1e35a0_filename.css
dans le développement et ce9c2ef-d1e35a0.css
en prod...
mais dans le cadre du déploiement, vous devez effacer d'abord le cache Vous avez donc d'abord deux hachages ce9c2ef
toujours la même (je ne comprends pas l'intérêt de l'existence) et la seconde d1e35a0
change, ce qui résout finalement le problème du cache du navigateur....
Mais si vous faites des changements dans les css, assetic:watch les compile, mais la page chargements anciens fichiers... !
La pire des offres groupées Je veux dire que le changement de nom de fichier est une chose basique et sur internet il y a tellement de façons de le résoudre que j'ai essayé l'une après l'autre pendant un jour jusqu'à ce que je réussisse enfin...