J'ai une collection de fichiers Javascript qui constituent ensemble un système. Différentes parties du système se trouvent dans des espaces de noms (globaux) différents (par exemple, NSA, NSB, etc.) et ces espaces de noms peuvent être des objets, par ex.Compresseur YUI: trouvé un symbole non déclaré
NSA = {
... lots of stuff ...
}
Maintenant, dans mes différents modules, je peux avoir un code tel que:
NSA.method();
Mon code JSLints propre parce que je déclare ces objets namespaced dans un commentaire en haut du fichier:
/*global dNSA NSB NSC */
Quand je lance YUI Compressor (v 2.4.2) sur ces fichiers avec le commutateur -v (verbeux), il émet des avertissements sur les objets référencés, namespaced tels que:
Found an undeclared symbol: $
et c'est pour l'utilisation de $ pour jQuery!
Que puis-je faire pour définir ces variables afin que YUI Compressor n'émette pas l'avertissement, et pourtant tout ce que j'ajoute ne peut pas provoquer une modification de l'objet.
Ahh - semble que c'est une capacité désirée non encore fournie. Un ticket existe: http://yuilibrary.com/projects/builder/ticket/21 – Zhami
Je suis moi aussi confronté au même problème. – James
Assurez-vous d'utiliser un problème à jour. J'ai eu ce problème jusqu'à ce que j'ai changé pour la version 1.3.1.2 – Patrick