2010-09-08 34 views
1

J'utilise actuellement PHP minify pour combiner et compresser les fichiers statiques (CSS et JS). Avec PHP minify, il est très facile à développer et à déployer. Parce que:réduire et combiner les fichiers - quelle est votre configuration de développement et de version?

Dites qu'il existe deux fichiers: a.js et b.js et nous les combiner et les réduire en ab.js. Maintenant, assez pour son moi ne comprennent qu'une seule balise script:

<script type="text/javascript" src="http://static.example.com/min/g=ab&amp;v=7"></script> 

Avec cette flexibilité je peux développer dans a.js et b.js et en même temps test la version finale minified sans changer la balise include ci-dessus. Je n'ai même pas besoin de changer en libérant.

Mais maintenant je veux déplacer mes fichiers statiques sur le serveur CDN où PHP ne sera pas là, donc je suppose que je dois utiliser le compresseur YUI pour minimiser et combiner avant de télécharger. Maintenant, si je combine a.js et b.js avec le compresseur YUI, je dois changer le tag d'inclusion que j'ai développé.

donc lors du développement que j'ai à utiliser:

<script type="text/javascript" src="http://static.example.com/a.js"></script> 
<script type="text/javascript" src="http://static.example.com/b.js"></script> 

Et quand je l'ai téléchargement à utiliser:

<script type="text/javascript" src="http://static.example.com/ab.min.js"></script> 

Ensuite, il devient un problème parce que, les deux lignes doit être combiné en un. Quelle est votre configuration pour gérer cela?

Répondre

0

Spécifiez l'URL de base de ab.min.js (par exemple, http://static.example.com/) dans un fichier de configuration. Dans la configuration de production, utilisez l'emplacement CDN. Dans votre configuration de développement, utilisez l'emplacement automatiquement réduit.

+0

Ce n'était pas ma question. Désolé si c'était trompeur. Mise à jour la question maintenant. – Sabya

0

On dirait que vous êtes à l'aise avec l'utilisation de différentes URL de base pour le développement et la production, mais que combiner deux lignes en une seule est votre problème.

Si c'est le cas, vous pouvez peut-être diviser cette étape en deux. Combiner a.js et b.js manuellement dans ab.js, mais ne pas minifier. Vous avez seulement besoin de le faire une fois. Maintenant, pendant le développement, vous pouvez travailler directement sur le code source dans ab.js.

  • Avant le téléchargement, généralement en tant qu'étape automatisée de votre processus de génération, utilisez le compresseur YUI pour réduire les ab.js. Si vous voulez séparer a.js et b.js, alors ce qui précède ne fonctionnera pas pour vous et vous aurez probablement besoin d'un type de préprocesseur qui modifiera les balises de script dans votre code source comme requis.