Question Combiner et compresser plusieurs fichiers JavaScript en php


Je travaille sur une application PHP qui nécessite huit fichiers javascript (bonjour web2.0).

Je me demande quelle est la meilleure façon de combiner et de compresser tous les fichiers de manière dynamique. Est-ce que je formule la question correctement?

Le résultat final est que j'inclurais un fichier .js dans l'en-tête et que ce fichier .js inclurait les fichiers .js dans mon répertoire "includes / js".

Merci.


12
2018-05-15 14:02


origine


Réponses:


Vous pouvez utiliser jsmin-php

Leur exemple de code est:

require 'jsmin-1.1.1.php';

// Output a minified version of example.js.
echo JSMin::minify(file_get_contents('example.js'));

Vous pouvez facilement joindre plusieurs fichiers js en faisant quelque chose comme:

require 'jsmin-1.1.1.php';

// Output a minified version of example.js.
echo JSMin::minify(file_get_contents('example.js') . file_get_contents('example2.js'));

14
2018-05-15 14:17



J'ai utilisé Réduire avec mes projets jQuery / PHP avec beaucoup de succès. Cela inclut la mise en cache aussi, donc il n'y a pas beaucoup de frais généraux.

J'ai fini par changer les choses et utiliser .htaccess pour acheminer toutes les requêtes vers mon dossier javascript vers le script minify, par exemple:

<script type="text/javascript" src="/js/jquery.js,js/jquery-levitip.js,js/jquery-facebox.js,js/datepicker.js,js/ga.js"></script>

avec mes itinéraires HTML frontaux dans mon script minify et il retourne tous ces scripts en un seul, compressé et minifié. De cette façon, je peux définir les inclus normalement et tout se passe dans les coulisses.

Mais de toute façon vérifier la mode d'emploi sur leur site, cela est très bien documenté, et vous devriez être capable de faire les choses comme vous le souhaitez. Oh et ça marche aussi pour CSS.


7
2018-05-15 14:16



Vous pourriez peut-être utiliser Yahoo JavaScript Compressor qui est un outil en ligne de commande, vous pouvez commencer à partir de votre script PHP.


2
2018-05-15 14:17



Tu peux essayer PHP SpeedyCela combinera et compressera vos fichiers JS pour vous en 1 seul fichier. Il compressera également votre HTML et CSS et votre page se chargera beaucoup plus rapidement.


0
2018-01-23 05:45



 function compress($buffer) {
        /* remove comments */
        $buffer = preg_replace("/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/", "", $buffer);
        /* remove tabs, spaces, newlines, etc. */
        $buffer = str_replace(array("\r\n","\r","\t","\n",'  ','    ','     '), '', $buffer);
        /* remove other spaces before/after ) */
        $buffer = preg_replace(array('(( )+\))','(\)( )+)'), ')', $buffer);
        return $buffer;
    }

La source: http://castlesblog.com/2010/august/14/php-javascript-css-minification


-2
2018-02-21 17:55