J'ai créé une bibliothèque JavaScript et l'ai compressée avec les options suivantes: Shrink Variables
et Base62 Encoded
à l'adresse suivante: http://dean.edwards.name/packer/. Dans cette bibliothèque, j'ai déclaré un objet ax
, mais lorsque j'utilise la version condensée dans ma page Web, j'obtiens une erreur en disant Uncaught ReferenceError: ax is not defined
.Un objet disparaît après l'insertion d'une bibliothèque JavaScript
Le code original de cette bibliothèque ressemble à ci-dessous.
var ax = {
scaleUp:function(win) {
//code omitted
},
downGrade:function(win) {
//code omitted
}
}
Dans ma page Web dans laquelle j'utilise cette bibliothèque, j'ai le code comme ci-dessous. Ce code fonctionne, si au lieu d'emballer, je le minimise en utilisant le Minifieur de Microsoft ou simplement utiliser la bibliothèque JavaScript originale sans minification ou emballage.
var result = ax.downGrade(w);
Question: Pourquoi la ax
variable ne accessible avec la version tassée? Dois-je ajouter quelque chose d'autre lorsque j'utilise la version condensée?
MISE À JOUR 1:
je ne pouvais pas obtenir le fichier compressé pour travailler mais emballer mon code par un autre utilitaire de compression à l'URL suivante travaillé dans mon cas: http://jsutility.pjoneil.net/. Il a fourni une compression tout aussi bonne. Je ne suis toujours pas sûr pourquoi l'utilitaire à l'URL d'origine n'a pas réussi à produire une version de travail de ma bibliothèque, même si mon code original fonctionne sans aucune erreur sur aucune page Web.
Regardez le code JavaScript compressé et déterminez où 'ax' est parti. Vous n'avez fourni aucun code reproduisant le problème, nous ne pouvons donc pas vous aider. – meagar
Comment liez-vous le script emballé? – Jasen
Ma bibliothèque est énorme avec une taille d'environ 56 Ko dans son état d'origine et environ 16 Ko dans un état compacté. C'est pourquoi je n'ai pas fourni ma bibliothèque, mais il y a un code comme celui que j'ai posté ici. – Sunil