2009-01-08 11 views
24

Ich versuche, ein paar Dateien mit YUI-Kompressor zu minimieren. Es scheint jedoch, dass ich bei zwei Codezeilen einen Fehler erhalte, der die Komprimierung verhindert. Die .js-Datei für jcarouselLite enthält 1 Fehler, und mein eigener Code enthält den anderen.Komprimierungsprobleme mit JQuery-Datei in YUI Compressor

Ich habe es eingegrenzt und in beiden Fällen sieht es aus wie die Float-Eigenschaft in jQuery verwendet wird, verursacht dies. Die Linie ist:

li.css({overflow: "hidden", float: o.vertical ? "none" : "left"}); (jcarousellite) 

$("#now-playing .js-kit-rating div:first").css({width: "80px", float: "right"}).addClass("clearing"); (own code) 

Ein Arbeitsbeispiel des Fehlers kann durch die jCarouselLite code durch den YUI Kompressor laufen zu sehen, aber im Grunde der Fehler zurückgegeben wird, ist ungültig Eigenschaft ID.

Hat jemand ähnliche Probleme mit dem YUI-Kompressor gehabt?

+0

Klingt wie Sie Firefox und den Firebug JS Debugger ausführen müssen, sollte es solche Dinge vielleicht fangen. – TravisO

Antwort

58

Es ist nicht YUI per se, es ist die jcarouselLite js. "float" ist ein reserviertes Wort. Es muss in Anführungszeichen gesetzt werden. ZB:

Ähnliche Ausgabe mit Ihrem eigenen Code. YUI versucht sein Bestes, um diese js kompilieren, wird aber ablehnen/warnen Sie von Code wie der, den Sie gefunden haben. IMO, es macht das Richtige.

+1

Das hat uns eine Menge Zeit gespart - danke für deine Antwort! – DanP

+3

um genau zu sein, Float ist kein reserviertes Wort in Javascript, aber YUI kennzeichnet es, weil es ein "mögliche zukünftige Schlüsselwörter durch die ECMAScript-Spezifikation." – BishopZ

+0

Es dauerte eine Weile, bis ich herausfand, dass 'var coordinates = {long: 0, lat: 0};' ein Problem war (langes reserviertes Wort). Vielen Dank. –

0

in meinem Fall, wenn YUI war nicht in der Lage meine Dateien zu komprimieren, es war, weil ich die ‚Debugger‘ in der JS-Datei hatte. Hoffe das spart jemand anderen mehrere Stunden Debugging!

2

Die anderen Antworten hier beantworten das eigentliche Problem (reservierte Wörter). Aber ich benutze YUI über BundleTransformer und es gibt keine Zeilennummern aus, also war ich ein wenig verloren, wohin ich schauen sollte.

Um den Prozess des Findens der Schlüsselwörter zu beschleunigen, suchte ich nach einem anderen Werkzeug.

This online YUI compressor hat mir geholfen, den Namen der problematischen Eigenschaft zu finden.

Verwandte Themen