Minimiser des scripts Javascript en PHP

6 Janvier 2014 à 14:02 Lemon Cake

Je ne publierai plus rien sur ce blog. Un nouveau blog existe maintenant. Il se nomme Hardly Smart.

Vous pourrez y retrouver des astuces plus larges sur l'informatique ainsi que mes anciens billets de blog.

Je vous souhaite une bonne lecture sur Hardly Smart.


Je viens de trouver une petite classe PHP qui vous permettra de gagner du temps de chargement sur vos gros scripts Javascript.

Vous avez déjà vu que lorsque vous télécharger par exemple la bibliothèque JavaScript jQuery vous avez une version *.min.js et une autre ? Et bien c'est que celle ci a été minimisé. Et bien je vais vous montrer comment minimiser vous même vos scripts JavaScript.

Prérequis

Il vous faudra juste télécharger la classe à cette adresse : https://github.com/rgrove/jsmin-php

Puis l'inclure dans les pages où vous chargez vos scripts JS.

Utilisation

Je vais vous montrer 2 utilisations.

PHP

La première est si vous avez tous vos scripts dans des dossiers et que vous n’exécutez aucun scripts directement dans vos pages :

require_once('jsmin.php');

// On collecte tous les fichiers avec une extension *.js
$files = glob("js/*.js");

// On prépare la variable qui va contenir le Javascript
$js = "";

// On parcours les fichiers *.js
foreach($files as $file) {
    // On récupère le contenu des fichiers *.js, on les minify et on les stocks dans la variable $js
    $js .= JSMin::minify(file_get_contents($file));
}

// Et pour finir, on enregistre le tout dans un nouveau fichier JS.
file_put_contents("js/combined.js", $js);

Vous pouvez aussi utiliser un tableau pour stocker le dossier et le nom de vos fichiers JS

$files = array('dossier1/file1.js', 'dossier2/file2.js', 'dossier3/file3.js');
file_get_contents($file);

Grâce à ceci, vous n'aurez qu'a charger un seul fichier JS et plus toutes une grosse liste.

Javascript

La deuxième est si vous utilisez du JS dans vos pages :

<?php
    // Crée une mémoire tampon pour stocker tout ce qui va suivre
    ob_start();
?>
<script>
    /*
     * Coller ici votre code JavaScript
     */
</script>
<?php echo JSMin::minify(ob_get_clean()); ?>

Maintenant vous avez un script JS qui est compressé.

Facile non ?

Demo

2016-08-30 19:44:34

Source

http://lemon-cake.fr/?p=269

Articles liés

Les commentaires ont été désactivés.

0 commentaire