2012-05-24 59 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