Je vous présente ici quelques techniques pour faciliter l'opération de combinaison et de minifications de fichiers CSS et JS.
Plusieurs outils permettent d'effectuer le travail à l'aide de commandes dans une fenêtre Terminal, par exemple :
Si vous optez pour l'automatisation, vous aurez plus de travail à réaliser pour installer et configurer les outils requis. Par contre, l'opération de combinaison et de minification sera par la suite très facile à réaliser.
Je vous propose quelques procédures pour configurer différents outils dans PhpStorm.
Terser est une branche de UglifyJS qui supporte la version ES6 de JavaScript, aussi appelée ECMAScript 2015 ou JavaScript 6.
Terser peut combiner et minifier vos fichiers JavaScript directement dans PhpStorm :
Sous Mac, ceci ajoutera le dossier /usr/local/lib/node_modules.
Sous Windows, le chemin sera plutôt C:\Users\MonNom\AppData\Roaming\npm\node_modules.
sudo npm install terser -g
pwd
Par exemple, dans un projet PHP vanille :
cd js
Dans une extension WordPress (changez les / pour des \ sous Windows) :
cd wp-content/plugins/monextension/js
terser fichier1.js fichier2.js fichier3.js --compress --mangle --output app.min.js
Il est possible de configurer l'extension File Watchers dans PhpStorm afin de lancer automatiquement une action dès qu'un fichier est modifié. Ici, je vous montre comment minifier automatiquement un fichier JavaScript.

sudo npm install terser -g


Si vous souhaitez arrêter la minification automatique, rendez-vous dans le menu / (Windows) ou / (Mac) puis / puis enlevez le crochet devant .
CSSO fait un travail semblable à Terser mais pour les fichiers CSS. Malheureusement, il n'offre pas la possibilité de combiner plusieurs fichiers. Il ne fait que la minification d'un seul fichier.
Pour l'utiliser, reprenez les étapes pour Terser mais cette fois, installez CSSO :
sudo npm install -g csso-cli
Placez-vous dans le dossier qui contient les feuilles de style à combiner et minifier puis lancez la commande :
csso fichier.css --output fichier.min.css
Les File Watchers de PhpStorm travaillent bien avec CSSO.
Reprenez les étapes pour Terser mais cette fois, après avoir cliqué sur le + pour ajouter un File Watcher, choisissez .
Toutes les valeurs entrées par défaut sont correctes. Il ne vous reste plus qu'à modifier vos feuilles de style, chacune sera automatiquement minifiée à chaque modification que vous y apportez.
« The complete best practices for minifying CSS ». LogRocket. https://blog.logrocket.com/complete-best-practices-minifying-css/
« terser/terser ». GitHub. https://github.com/terser/terser
« Minifying JavaScript ». JetBrains. https://www.jetbrains.com/help/phpstorm/minifying-javascript.html
« Minifying CSS ». JetBrains. https://www.jetbrains.com/help/phpstorm/compressing-css.html
« Minify CSS with PhpStorm automatically ». speich.net. https://www.speich.net/articles/en/2019/12/30/automatically-minify-css-with-phpstorm/
▼Publicité