YUI Compressor中JQuery文件的压缩问题

我试图用YUI压缩器缩小一些文件。 但是,我似乎在2行代码上遇到错误,这会阻止压缩。 jcarouselLite的.js文件包含1个错误,而我自己的代码包含另一个错误。

我缩小了它,在两种情况下,它看起来像jQuery中使用的float属性导致了这一点。 这条线是:

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) 

通过YUI压缩器运行jCarouselLite代码可以看到错误的工作示例,但基本上返回的错误是无效的属性id。

有没有人与YUI压缩机有类似的问题?

这不是YUI本身,它是jcarouselLite js。 “浮动”是一个保留字。 它需要加上引号。 例如:

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

与您自己的代码类似的问题。 YUI正在尽力编译那个js,但会拒绝/警告你发现的代码。 IMO正在做正确的事情。

我用“class”这个词几次遇到这个问题。 如果您在服务器端使用YUI,它应该吐出它抱怨的行号。

这是一个看似非常全面的保留字列表。

http://mattsnider.com/languages/javascript/reserved-words-in-javascript/

这里的其他答案回答了实际问题(保留字)。 但我通过BundleTransformer使用YUI并且它没有输出行号,所以我有点迷失在哪里看。

为了加快寻找关键字的过程,我去寻找另一种工具。

这个在线YUI压缩器帮我找到了有问题的属性名称。

在我的情况下,当YUI无法压缩我的文件时,这是因为我在js文件中有’调试器’。 希望这可以节省其他人几个小时的调试时间!