我編這個例子javascript
代碼谷歌關閉編譯谷歌關閉編譯器的高級模式符碼
$(document).on('click', function() {
console.log('Hello');
});
而且,我從這個輸出。
$(document).a("click",function(){console.log("Hello")});
這裏on
替換a
。所以,當我在瀏覽器上運行這個時,我得到了錯誤。
我用這個命令行來編譯腳本。
java -jar closure-compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --js script.js
當我使用--process_jquery_primitives
參數我得到這個錯誤。
java.lang.RuntimeException: com.google.javascript.jscomp.CompilerOptionsPreprocessor$InvalidOptionsException: The jQuery pass and the Closure pass cannot both be enabled.
at com.google.javascript.jscomp.CompilerExecutor.runInCompilerThread(CompilerExecutor.java:126)
at com.google.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:740)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:710)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:680)
at com.google.javascript.jscomp.AbstractCommandLineRunner.doRun(AbstractCommandLineRunner.java:1080)
at com.google.javascript.jscomp.AbstractCommandLineRunner.run(AbstractCommandLineRunner.java:492)
at com.google.javascript.jscomp.CommandLineRunner.main(CommandLineRunner.java:1866)
Caused by: com.google.javascript.jscomp.CompilerOptionsPreprocessor$InvalidOptionsException: The jQuery pass and the Closure pass cannot both be enabled.
at com.google.javascript.jscomp.CompilerOptionsPreprocessor.preprocess(CompilerOptionsPreprocessor.java:74)
at com.google.javascript.jscomp.Compiler.compileInternal(Compiler.java:746)
at com.google.javascript.jscomp.Compiler.access$000(Compiler.java:84)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:713)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:710)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:91)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
注:我使用的是最新的封編譯
並非所有的代碼是'ADVANCED'模式編譯安全。請參閱http://closuretools.blogspot.com/2012/09/which-compilation-level-is-right-for-me.html –