2012-05-24 56 views
1

我正在尝试使用YUI Compressor将所有javascript缩小并放入单个文件中。YUI压缩器错误 - jQuery Autotype

我使用这个JavaScript文件:https://github.com/mmonteleone/jquery.autotype/blob/master/jquery.autotype.js

我有一个本地副本明显。但是,当我通过YUI压缩机运行特定文件,我得到了以下错误:

[INFO] Using charset UTF-8 
[ERROR] 20:32:missing formal parameter 
[ERROR] 21:32:missing formal parameter 
[ERROR] 21:71:syntax error 
[ERROR] 22:30:syntax error 
[ERROR] 25:13:syntax error 
[ERROR] 26:22:syntax error 
[ERROR] 27:36:identifier is a reserved word 
[ERROR] 28:13:syntax error 
[ERROR] 29:21:syntax error 
[ERROR] 53:29:invalid property id 
[ERROR] 53:30:syntax error 
[ERROR] 54:30:syntax error 
[ERROR] 55:22:syntax error 
[ERROR] 62:29:invalid property id 
[ERROR] 62:30:syntax error 
[ERROR] 63:30:syntax error 
[ERROR] 64:22:syntax error 
[ERROR] 106:33:invalid property id 
[ERROR] 106:34:syntax error 
[ERROR] 107:34:syntax error 
[ERROR] 108:44:syntax error 
[ERROR] 109:26:syntax error 
[ERROR] 151:29:invalid property id 
[ERROR] 151:30:syntax error 
[ERROR] 152:30:syntax error 
[ERROR] 160:34:missing name after . operator 
[ERROR] 163:33:missing name after . operator 
[ERROR] 165:13:syntax error 
[ERROR] 167:9:syntax error 
[ERROR] 168:29:syntax error 
[ERROR] 209:54:missing name after . operator 
[ERROR] 218:9:syntax error 
[ERROR] 219:30:syntax error 
[ERROR] 220:27:missing ; before statement 
[ERROR] 221:24:syntax error 
[ERROR] 230:13:syntax error 
[ERROR] 231:19:syntax error 
[ERROR] 233:17:syntax error 
[ERROR] 235:13:syntax error 
[ERROR] 283:1:syntax error 
[ERROR] 1:0:Compilation produced 40 syntax errors. 
org.mozilla.javascript.EvaluatorException: Compilation produced 40 syntax errors. 
at com.yahoo.platform.yui.compressor.YUICompressor$1.runtimeError(YUICompressor.java:154) 
at org.mozilla.javascript.Parser.parse(Parser.java:392) 
at org.mozilla.javascript.Parser.parse(Parser.java:337) 
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312) 
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.<init>(JavaScriptCompressor.java:533) 
at com.yahoo.platform.yui.compressor.YUICompressor.main(YUICompressor.java:131) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21) 

我已经通过自己的代码,查了一下,想不通为什么它收到此错误。任何帮助将不胜感激。

+0

我刚试过谷歌关闭,它会引发相同的错误。 – Peter

回答

5

我想通了。我使用了http://closure-compiler.appspot.com/home这是一个基于Web的Google Closure工具,从我所看到的基本上和YUI一样,只有他们的Web工具给出了比YUI错误日志更详细的错误信息,而且我能够确定它有因为脚本的作者经常使用保留的char变量名,所以失败了。修改我的本地版本的每个字符的实例为'chara'(我知道,跛脚)它工作得很好。

+0

遇到这个问题以及... YUI有一长串的单词,它不接受,即使他们可能是有效的JavaScript使用。有一个[类似的堆栈问题](http://stackoverflow.com/questions/424469/compression-issues-with-jquery-file-in-yui-compressor)以及打破[YUI压缩器]的单词列表(http://mattsnider.com/reserved-words-in-javascript/)。 – BishopZ

+0

对我来说,它使用变量名“long”来表示经度。我把它改成了“lng”,现在Yui不呛。 – Justin