2009-01-08 14 views
24

Estoy intentando minimizar algunos archivos con el compresor YUI. Sin embargo, parece que recibo un error en 2 líneas de código, lo que impide la compresión. El archivo .js para jcarouselLite contiene 1 error y mi propio código contiene el otro.Problemas de compresión con el archivo JQuery en YUI Compressor

Lo he reducido y en ambas ocasiones parece que la propiedad flotante utilizada en jQuery está causando esto. La línea es:

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) 

Un ejemplo de trabajo del error se puede ver mediante la ejecución del jCarouselLite code a través del compresor YUI, pero básicamente el error devuelto es válido Identificación propiedad.

¿Alguien ha tenido problemas similares con el compresor YUI?

+0

Parece que necesitas ejecutar Firefox y el depurador Firebug JS, debería captar cosas como esta, tal vez. – TravisO

Respuesta

58

No es YUI per se, es jcarouselLite js. "flotar" es una palabra reservada. Necesita ser puesto entre comillas. EG:

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

Problema similar con su propio código. YUI está haciendo todo lo posible para compilar ese js, pero se negará/le avisará de un código como el que encontró. IMO está haciendo lo correcto.

+1

Esto nos ahorró MUCHO tiempo, ¡gracias por su respuesta! – DanP

+3

para ser exacto, float no es una palabra reservada en javascript, pero YUI lo señala porque es una "posible palabra clave futura por la especificación ECMAScript". – BishopZ

+0

Me tomó un tiempo darme cuenta de que 'var coordinates = {long: 0, lat: 0};' era un problema (palabra larga reservada). Gracias. –

0

en mi caso cuando YUI fue incapaz de comprimir mis archivos que era porque tenía la 'depuración' en el archivo JS. Espero que esto le ahorre a alguien más varias horas de depuración.

2

Las otras respuestas aquí responden el problema real (palabras reservadas). Pero estoy usando YUI a través del BundleTransformer y no está enviando números de línea, así que estaba un poco perdido en cuanto a dónde mirar.

Para acelerar el proceso de búsqueda de las palabras clave, busqué otra herramienta.

This online YUI compressor me ayudó a encontrar el nombre de la propiedad problemática.