Julien Mariller.ch

Développeur Web passionné par les standards

Intégrer Laravel Mix dans Symfony

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').

Publié le 06/12/2021