Comportement de l'emballeur, etc compresseur YUI
-
02-10-2019 - |
Question
Je suis en train de comprendre comment tous ces outils fonctionnent depuis, pour autant que je sache, ils changent le nom des variables pour obtenir une meilleure compression.
changent-ils aussi le nom des propriétés des objets? Je suppose qu'ils ne le feraient pas, car sinon tout en utilisant la notation object[property]
, où property
est calculée dynamiquement, pourrait échouer. Est-ce exact?
Alors, dans ce cas, si tout est avec une seule un espace de noms variable globale, il n'y aura pas de gain en changeant les noms de variables. Est-ce encore à droite?
La solution
Packer fait une forme de compression, le remplacement des mots avec des jetons plus courts. Il ne fait pas du tout changement de nom.
Des outils tels que YUI changement compresseur uniquement des variables locales (et arguments), mais vous pouvez stocker des objets couramment utilisés dans les variables locales pour tirer parti des considérations spatiales. (De plus, il est un peu plus rapide pour accéder aux variables locales par rapport à ramper la chaîne de portée au niveau supérieur.)
Autres conseils
Seules les variables locales peuvent être rebaptisés
YUI compresseur peut rapetisser Sheets JavaScript et Cascading Style.
Il peut aussi le cas échéant obfuscate .. mais seulement le Javascript.
pour expliquer le diférences ...
minification :. Enlève 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 en le marché
Alors, pourquoi avons-nous rapetisser ou obfuscate? Pour réduire la taille du fichier tout en gardant exactement la même fonctionnalité.