2010-08-29 46 views
1

J'essaie de comprendre comment fonctionnent tous ces outils puisque, autant que je sache, ils changent le nom des variables pour obtenir une meilleure compression.Comportement de Packer, compresseur YUI etc

Est-ce qu'ils changent également le nom des propriétés des objets? Je suppose qu'ils ne le feraient pas, car sinon tout ce qui utilise la notation object[property], où property est calculé dynamiquement, pourrait échouer. Est-ce correct? Donc, dans ce cas, si tout est namespaced avec une seule variable globale, il n'y aura aucun gain dans le changement de noms de variables. Est-ce que c'est vrai?

Répondre

2

Packer fait une forme de compression, en remplacement de mots avec des jetons plus courts. Il ne fait pas de renommage du tout.

Des outils comme YUI Compressor ne modifient que les variables locales (et les arguments), mais vous pouvez stocker des objets couramment utilisés dans des variables locales pour tirer parti des considérations d'espace. (En outre, il est légèrement plus rapide d'accéder aux variables locales par rapport à l'analyse de la chaîne de portée jusqu'au niveau supérieur.)

1

Seules les variables locales peuvent être rebaptisés

0

YUI Compressor peut réduire les feuilles JavaScript et les feuilles de style en cascade.

Il peut également obscurcir éventuellement .. mais seulement le Javascript.

to explain the diferences ...

minification: supprime les espaces et les commentaires.

obscurcissement: aussi minifies, mais il faudra aussi apporter des modifications au programme, en changeant les noms des variables, des fonctions et des membres, ce qui rend le programme beaucoup plus difficile à comprendre, et de réduire davantage sa taille dans le marché

Alors, pourquoi minifions-nous ou obscurcissons-nous? Pour réduire la taille du fichier tout en conservant exactement la même fonctionnalité.

+0

Avez-vous même lu la question? : -/ – Andrea

+0

@andrea heh - mignon .. avez-vous lu ma réponse ???? regardez les deux sections BOLDED .... En outre, j'ai seulement commenté sur YUI Compressor .. pas Packer parce que je n'ai jamais utilisé cela. –

+0

Selon les autres réponses, ce que vous avez écrit n'est pas vrai: tous les noms de variables ne seront pas modifiés, seulement les noms locaux. Je sais déjà ce que sont la minification et l'obscurcissement; Ma question était spécifique au comportement de ces outils par rapport aux propriétés de l'objet. Désolé si mon commentaire était trop dur. – Andrea