24

我正在尝试使用 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 压缩器遇到过类似的问题吗?

4

5 回答 5

59

它本身不是 YUI,而是 jcarouselLite js。“float”是保留字。它需要放在引号中。例如:

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

与您自己的代码类似的问题。YUI 正在尽最大努力编译该 js,但会拒绝/警告您发现的代码与您找到的代码类似。IMO 它正在做正确的事情。

于 2009-01-08T14:46:15.627 回答
9

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

这是一个看起来相当全面的保留字列表。

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

于 2009-05-14T16:27:18.450 回答
3

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

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

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

于 2015-01-25T20:47:06.900 回答
0

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

于 2014-08-12T23:22:02.323 回答
0

我已经为更新 yui 压缩器准备了一个自定义版本

https://github.com/MrD0llaro/yuicompressorhttps://github.com/MrD0llaro/yui-compressor-ant-task/ 用于新的 Jquery 3.5.1

于 2020-05-19T12:10:08.787 回答