Dans le cadre de la compilation de ressources web (JavaScript, CSS, etc.), Laravel Mix est un excellent outil basé sur Webpack avec une interface fluide et simple d'utilisation.
Pour la mise en cache à long terme, Laravel Mix offre la méthode mix.version()
qui permet de générer automatiquement un code alphanumérique (hashcode) pour chaque resource et de générer le fichier manifeste mix-manifest.json
.
Les utilisateurs de Laravel ont à leur disposition une fonction Blade globale nommée mix
qui prend en paramètre le nom de la ressource (p.ex. app.js
) et y ajoute son code unique (p.ex. app.js?id=0441ad4f65d54589aea5
)
Avec Symfony la fonction équivalente est asset
. Pour que celle-ci fonctionne avec Laravel Mix il faut toutefois effectuer un changement important dans le fichier de configuration framework.yaml
de Symfony:
framework: # ... assets: json_manifest_path: '%kernel.project_dir%/public/mix-manifest.json' #...
Il est également important d'ajuster le chemin public dans Laravel Mix avec la commande mix.setPublicPath('public')
.