Le processus de compression JSA est divisé en deux étapes
La première étape est la compression syntaxique, qui est similaire à Dojo ShrinkSafe, mais plus sûre et plus efficace.
La deuxième étape est la compression de texte, actuellement utilisée
Algorithme de compression de JavaScript Compressor.
(http://dean.edwards.name/packer/ )
Ceux-ci peuvent être définis dans la fenêtre des paramètres.
Par défaut, la compression syntaxique est utilisée en premier. Lorsque le fichier fait plus de 1 000 octets et peut encore être compressé à 90 % de sa taille d'origine à l'aide de la compression de texte, la compression de texte est utilisée sur la base d'origine.
Ce qui suit est un exemple de compression de script pour démontrer les fonctions de compression et d'optimisation de la syntaxe JSA.
En prenant comme exemple son propre code d'outil de compression (v2.02), la taille après compression du packer est de 7 428 octets (commentaires supprimés).
Et notre outil de compression peut compresser jusqu'à 7 256 octets
7256 / 7428 = 0,9768443726440496
2.Dojo ShrinkSafe (truc grossier, inefficace et dangereux, il est recommandé aux utilisateurs d'origine de le remplacer rapidement)
Avec son propre code source de framework comme exemple (v0.4.1) :
Sa propre taille compressée est de 149 518 octets, mais nous pouvons la réduire à 81 261 octets après compression
81261 / 149518 = 0,5434864029748927
Consignes de sécurité :
Compression basée sur le texte, je n'ai pas examiné la logique en détail, mais la possibilité de problèmes avec ce type de compression est très faible. Notre outil de compression utilise également son algorithme de compression, qui est utilisé dans JSI 1.1 a8 et.
Aucune anomalie n'a été trouvée lors du test de sa bibliothèque de classes tierce intégrée. De plus, le framework bien connu JQuery est utilisé, donc je pense qu'il n'y aura aucun problème.
Supplémentaire (12/03/2007) : Aujourd'hui, j'ai découvert que cet outil présente un bug lors de l'analyse de la syntaxe de chaîne multiligne JavaScript. Cependant, ce problème n'existera plus après la compression de la syntaxe JSA.
Remplacez les noms de variables locales longs par des noms plus courts. Il s'agit d'un outil de compression extrêmement dangereux. Par exemple :
JSA fournit non seulement une fonction de compression de code, mais peut également effectuer le formatage et l'analyse de scripts.
La fonction d'analyse de script peut être utilisée pour afficher les informations du script et trouver des problèmes potentiels dans le script.
Par exemple, vérifiez quelles fonctions et variables sont déclarées dans le script.