jQuery压缩会导致错误

时间:2010-04-16 07:54:46

标签: jquery compression

当有一个jquery脚本运行正常且没有错误然后压缩并上传然后返回错误时,有人可以解释一下吗?

非常感谢。

编辑使用jsLint的唯一错误是:

错误:

全球隐含意外:$ 3,25,27,28,31,32,34,35,36,38,45,46,47,49,50,61,63,64,65,67,71,75 ,79,83,87,91,94,95,96,98,101,102,103,111,113,114,115,121,123,124,125,127,130,131,132,142,144,145,146,147,148,149,150,151,152,153,154,155,171,173,174,175,177,180,181,182,192,194,195,196,197,198,199,200,201,202,214,216,217,218,220,223,224,225,234,240,241,242,243,244,245,246,247,248,249,250,251,253,254,255,256,257,258,259,260,窗口7,警报56,106,137,187,230,文件234

这导致它在jQuery中猜测

4 个答案:

答案 0 :(得分:1)

很可能你在某些行上缺少语句终止符;,例如,即使我没有指定代码,代码也会正常运行:

$(....).click(function(){
  .....
}) <-- // no `;` char here

甚至这个:

alert('hello') <-- // no `;` char here

但是当你压缩它,并且忘记将该角色放在某个地方时,你会收到错误。

除了任何可能的问题之外,请确保您的脚本不是这种情况。

答案 1 :(得分:1)

可能是因为脚本中的错误在未压缩脚本时不会导致任何问题。

我建议您尝试在脚本上使用jslint来验证它是否正确。

答案 2 :(得分:0)

JSLint的替代方法是JavaScriptLint。也值得一试。你在浏览器中遇到了什么错误? Firefox的Firebug应该为您提供错误消息的更多详细信息。

答案 3 :(得分:0)

我不确定您使用什么来压缩您的javascript,但我注意到使用Google Closure compiler它本身并不遵循“规则”。

鉴于此代码:

var t = true;
if (t) { alert("it's true!"); }

在JSLint中没有错误(“隐含的全局:警报2”除外)

如果我使用“who whitespace”设置对其进行压缩,则结果为

var t=true;if(t)alert("it's true!");

当然是优化的,但现在给出了一个JSLint错误。