J'ai un site web, qui utilise beaucoup de jquery/javascript. Maintenant, à la page d'index J'ai environ 10 fichiers javascript inclus dans la tête:Javascript minification automatisation
<head>
<script src="/js/jquery.js"></script>
<script src="/js/jquery_plugin_1.js"></script>
<script src="/js/jquery_plugin_2.js"></script>
<script src="/js/jquery_plugin_3.js"></script>
<script src="/js/my_scripts_1.js"></script>
<script src="/js/my_scripts_2.js"></script>
<script src="/js/my_scripts_3.js"></script>
<script src="/js/my_scripts_4.js"></script>
<!-- ...and so on -->
</head>
Depuis nombre de visiteurs grossit, je commence à penser à la performance de tout cela. J'ai lu, c'est une bonne idée, de réduire tous les fichiers javascript et de les rassembler en un seul, donc un navigateur doit faire une seule requête HTTP. Je l'ai fait. Maintenant, j'ai everything.js
fichier contenant tous les javascript, y compris jquery, plugins et mes scripts personnalisés.
<head>
<!--
<script src="/js/jquery.js"></script>
<script src="/js/jquery_plugin_1.js"></script>
<script src="/js/jquery_plugin_2.js"></script>
<script src="/js/jquery_plugin_3.js"></script>
<script src="/js/my_scripts_1.js"></script>
<script src="/js/my_scripts_2.js"></script>
<script src="/js/my_scripts_3.js"></script>
<script src="/js/my_scripts_4.js"></script>
...
-->
<script src="/js/everything.js"></script>
</head>
Le plaisir commence lorsque j'ai besoin d'apporter des modifications à l'un des fichiers. Chaque fois, pour vérifier si mes modifications fonctionnent comme prévu, j'ai besoin de compresser le fichier et de mettre à jour everything.js
ou de décommenter tout l'ancien code. Avec ce genre de travail, il est trop facile d'oublier quelque chose et de faire une erreur.
Question: Y a-t-il une solution automatisée qui peut soulager ce mal de tête? Quelque chose, qui me permettrait d'éditer mes fichiers séparés comme je le faisais, et réduirait et rassemblerait tout quand je serais prêt à tester mes changements?
J'utilise PHP5 et SVN
SOLUTION
Merci pour votre aide, tout le monde, j'ai trouvé ma solution: Je vais mettre un crochet post-commit
dans mon repo SVN qui prendra tous mes fichiers .js
, les assembler et les réduire en utilisant le compresseur YUI. Ensuite, dans mon script, je vais inclure fork javascript, de sorte que dans l'environnement de développement, le site inclura des fichiers javascript séparés, mais en production, le fichier combiné et minifié sera inclus.
Vous pouvez écrire un script shell qui fait cela pour vous, en collectant tous les fichiers '.js' dans un répertoire donné, en peignant puis en compressant le résultat. – Gumbo
Je pense que vous devriez vérifier si vos scripts fonctionnent correctement lorsqu'ils sont dans un fichier. –