2012-05-24 2 views
1

YUI Compressor를 사용하여 모든 자바 스크립트를 단일 파일로 축소하려고합니다.YUI 압축기 오류 - jQuery Autotype

나는이 자바 스크립트 파일을 사용하고 있습니다 :

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

방금 ​​Google Closure를 사용해 본 결과 동일한 오류가 발생했습니다. – Peter

답변

5

나는 그것을 알아 냈다. 나는 웹 기반 구글 클로져 도구 인 http://closure-compiler.appspot.com/home을 사용했다. 필자가 본 것은 본질적으로 YUI와 똑같은 일을한다. 웹 도구는 YUI 오류 로그보다 더 많은 자세한 오류를 주었고, 나는 그것이 있었는지를 결정할 수 있었다. 스크립트 작성자가 종종 char의 예약 변수 이름을 사용하기 때문에 실패했습니다. 내 로컬 버전을 char의 모든 인스턴스를 'chara'(내가 알고있는 절름발이)로 수정하면 잘 작동합니다.

+0

이 문제도 해결 된 후 ... YUI는 유효한 자바 스크립트 사용 일지라도 받아 들일 수없는 긴 단어 목록을 가지고 있습니다. [비슷한 스택 질문] (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"로 바꿨고, 이제는 유이가 질식하지 않습니다. – Justin